mysql数据库简介
1.什么是数据库:数据仓库。访问必须只能用SQL语句来访问。数据库也是一个文件的系统。 2.数据库的作用:存储数据的作用。开发任何的应用,都有数据库。 3.关系型的数据库:数据库中保存的都是实体与实体之间的关系。 4.常见的数据库* Java开发,必用的两个数据库Oracle和MySQL* Oracle数据库(甲骨文) 大型的数据库,收费的。* MySQL数据库 小型的数据库,免费开源的。被Oracle收购了(在6.x版本下开始收费了)* SQLServer 微软的数据库* DB2 IBM公司产品,大型的数据库,收费的。* SyBASE 退出了历史的舞台。PowerDigener(数据库的设计的工具)
MySQL数据库的安装和卸载
1.MySQL数据库的卸载* 先找到MySQL的安装路径,找到my.ini配置文件。* basedir="C:/Program Files (x86)/MySQL/MySQL Server 5.5/" -- MySQL安装路径(my.ini没有删除)* datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" -- MySQL数据存放位置(手动删除)* 直接通过控制面板卸载程序。2.安装MySQL* 安装的路径中不能有中文和空格。3.进行测试* cmd -- 输入mysql -u root -p -- 回车 -- 输入密码 -- 进入MySQL的服务器。
MySQL数据库概念
1.总结:一个数据库的服务器中包含多个数据库,一个数据库中有多张表,一个表中包含多个字段(字段和JavaBean的属性是对应),表中存放是数据,一行数据和一个JavaBean实体对象是对应的。
SQL语言(操作数据库)
1.Structured Query Language, 结构化查询语言 2.SQL非过程性的语言* 过程性的语言:依赖上一条或者上几条语句执行。* 非过程性的语言:一条语言,就对应一个返回的结果。 3.SQL语言是基础* 在Oracle使用自己的语言,PL/SQL只能在Oracle来说使用。
SQL的分类
SQL的分类1.DDL 数据定义语言* 创建数据库 创建表 创建视图 创建索引 修改数据库 删除数据库 修改表 删除表* create -- 创建 alter -- 修改 drop -- 删除 2.DML 数据操作语言* 操作数据 插入数据(insert) 修改数据(update) 删除数据(delete) 3.DCL 数据控制语言* if else while 4.DQL 数据查询语言* 从表中查询数据(select)
数据库的操作(CURD)
创建数据库(重点)
1.创建数据库的语法* 基本的语法:create database 数据库名称;* 正宗的语法:create database 数据库名称 character set 编码 collate 校对规则;2.校对规则(了解):决定当前数据库的属性。创建一个名称为mydb1的数据库。* create database mydb1; 创建一个使用utf8字符集的mydb2数据库。* create database mydb2 character set 'utf8'; 创建一个使用utf8字符集,并带校对规则的mydb3数据库。* create database mydb3 character set 'utf8' collate 'utf8_bin';
查看数据库(重点)
1.show databases; -- 查看所有的数据库 2.use 数据库名称;(*) -- 使用数据库 3.show create database 数据库名称; -- 查询数据库的创建的信息 4.select database(); -- 查询当前正在使用的数据库
删除数据库(重点)
1.drop database 数据库名称; -- 删除数据库查看当前数据库服务器中的所有数据库* show databases; 查看前面创建的mydb2数据库的定义信息* show create database mydb2; 删除前面创建的mydb1数据库* drop database mydb1;
修改数据库
1.语法:alter database 数据库名称 character set 'gbk' collate '校对规则';
1.语法:alter database 数据库名称 character set 'gbk' collate '校对规则';
表结构操作(CURD)
创建表
1.语法:create table 表名称(字段1 类型(长度) 约束,字段2 类型(长度) 约束,字段3 类型(长度) 约束); 2.注意:* 创建表的时候,后面用小括号,后面分号。* 编写字段,字段与字段之间使用逗号,最后一个子段不能使用逗号。* 如果声明字符串数据的类型,长度是必须指定的。* 如果不指定数据的长度,有默认值的。int类型的默认长度是113.创建一张表结构(员工表练习)create table employee(id int,name varchar(30),gender char(5),birthday date,entry_date date,job varchar(50),salary double,resume text);4.执行SQL语句* 查询当前正在使用的数据库 select database();* 选择你要使用的数据库 use mydb2;* 执行创建表的SQL语句。5.使用desc employee;查询表的信息 +------------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+-------------+------+-----+---------+-------+ | id | int(11) | YES | | NULL | | | name | varchar(30) | YES | | NULL | | | gender | char(5) | YES | | NULL | | | birthday | date | YES | | NULL | | | entry_date | date | YES | | NULL | | | job | varchar(50) | YES | | NULL | | | salary | double | YES | | NULL | | | resume | text | YES | | NULL | | +------------+-------------+------+-----+---------+-------+
数据库的数据类型(重点)
字符串型(重点)VARCHAR(用的比较多) :长度是可变的。 例子:name varchar(8) ,存入数据hello,存入进去之后,name字段长度自动变成了5。CHAR :长度是不可变的。 例子:name char(8) 存入数据hello,用空格来补全剩余的位置。大数据类型(不常用)BLOB :字节(电影 mp3)TEXT :字符(文本的内容)数值型(重点)TINYINT 、SMALLINT、INT、BIGINT、FLOAT、DOUBLE逻辑性 BIT在Java中是true或者false在数据库bit类型(1或者0)日期型(重点)DATE :只包含日期(年月日)TIME :只包含时间(时分秒)DATETIME :包含日期和时间。如果插入数据的时候,字符值为空,字段的值就是空了。TIMESTAMP :包含日期和时间。如果插入数据的时候,设置字段的值为空,默认获取当前的系统的时候,把时间保存到字段中。
单表的约束(了解)
1.约束的好处:保证数据的完整性。 2.主键约束(重要)代表记录的唯一标识。* 关键字:primary key 通过该关键字声明某一列为主键。* 唯一 值就不能相同* 非空 值也不能为空* 被引用 (和外键一起来使用) 3.唯一约束* 声明字段值是唯一的。使用关键字 unique 4.非空约束* 声明字段的值是不能空的。not null
删除和查看表
1.删除表语法:drop table 表名; 2.查看标签* desc 表名; -- 查询表的信息* show tables; -- 查看当前数据库中所有的标签* show create table 表名; -- 查看表的创建的信息
修改表
1.语法* alter table 表名 add 新列名 类型(长度) 约束; -- 添加列* alter table 表名 drop 列名; -- 删除列* alter table 表名 modify 列名 类型(长度) 约束; -- 修改列的类型或者约束* alter table 表名 change 旧列名 新列名 类型(长度) 约束; -- 修改列名* rename table 表名 to 新表名; -- 修改表的名称* alter table 表名 character set utf8; -- 修改表的字符集在上面员工表的基本上增加一个image列。alter table employee add image varchar(50); 修改job列,使其长度为60。alter table employee modify job varchar(60); 删除gender列。alter table employee drop gender; 表名改为user。rename table employee to user; 修改表的字符集为utf8alter table user character set utf8; 列名name修改为usernamealter table user change name username varchar(30);