DDL:data define language数据定义语言。
一、先了解一些数据库操作命令
1、查看库:show databases;
查看所有已经存在的数据库。
2、创建库:create databse 库名;
创建指定的数据库。
3、删除库:drop database 库名;
删除指定的数据库。
4、选择库:use 库名;
选择要操作的数据库,一般先选择自己要操作的数据库。
5、查看数据库的创建信息
show create database 库名;
二、表级操作ddl
1、查看当前数据库中所有的表
show tables;
2、查看指定的表的信息。
desc table table_name;
说明:要指定自己要查看的表名。
3、查看表的创建信息
show create table table_name;
4、创建表
create table table_name;
5、删除表
drop table table_name;
6、字符集
(1)什么是字符集
比如gbk、ascii等。
(2)查看字符集
show character set;
显示MySQL支持的所有字符集。
(3)指定字符集
创建表时在最后面指定,比如:
create table table_name() engine=Innodb default charset=utf8;
说明:engine=Innodb中Innodb是默认的存储引擎,查看MySQL所支持的存储引擎:show engines;
配置MySQL的配置文件:
windows:在C:\ProgramData\MySQL\MySQL Server 5.7目录下的my.ini
注意:ProgramData是隐藏文件。
Linux:/etc/mysql/mysql.conf.d/mysql.conf
7、字段修饰:
unsigned:无符号数
zerofill:高位0填充,防止出现负数。
auto_increment:自动增加,用于整数,一般主要用于主键。
default:默认值null
not null:非空,即:不准许为空。
使用方式一,建表的时候:
create table user(
id int not null;
)
使用方式二,建表之后alter:
alter table user modify id int(11) auto_increment;
8、索引
普通索引:index,最基本的,应该也是默认的,不需要进行设置。
唯一索引:unique,保证字段唯一不可重复,一个表可以有多个唯一索引。
主键索引:primary key,特殊的唯一索引,一个表中只能有一个主键索引。
全文索引:fulltext,对全局数据进行添加索引,很少用,效率低。
使用,方式一:
create table user(
id int primary key,
name varchar(10) unique
)
index索引不适用。
方式二:
create table user(
id int ,
name varchar(10) ,
primary key(id),
unique(name)
)
方式三:
alter table user add index(name);
给name 添加一个index索引,其他所有也是如此。
alter table user drop index name;
删除字段name的index的索引,似乎只有index能删除。
9、建表之后的修改操作,关键字alter
(1)增加字段add
alter table table_name add field type;
比如:alter table user add age int(4);
默认是在最后面追加。
(2)指定增加字段在表中显示的位置add
alter table table_name add field type after field2;或者alter table table_name add field type first;位列第一。
比如:alter table user add age int after id;或者alter table user add age int first;
(3)删除字段drop
alter table table_name drop field;
(4)修改字段modify和chage
change:
修改字段名:alter table table_name change oldfield newfield type;
修改字段位置:alter table table_name change oldfield newfield type first;或者alter table table_name change oldfield newfield type after field2;
比如;alter table user change name username varchar(15) not null first;
注意:使用change必须要修改字段名,而且必须至少要修改到字段修饰的type否则会报错。
modify:
修改字段位置:alter table table_name modify field first;或者alter table table_name modify field after field2;
比如:alter table user modify username varchar(15) not null first;
注意:modify不同于change的是不能修改表名,同样至少也要修改到字段修饰的type。