创建数据库

create database if not exists mydb;

查看mySQL服务器中所有数据库

show databases;
示例:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| keai               |
| kenvie             |
| mydb               |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

创建表并设置字符格式为utf8

use mydb;
#create table 表名 (第一个字段 数据类型 字段属性);
create table kenvie (id int comment '编号',name varchar(32) comment '商品名称',price int comment '商品价格',des varchar(255) comment '商品描述')character set utf8;

查看数据表

#查看全部数据表
show tables;
示例:
mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| kenvie         |
+----------------+
1 row in set (0.01 sec)

#查看名称中带有ken的数据表
show tables like '%ken%';
示例:
mysql> show tables like '%ken%';
+------------------------+
| Tables_in_mydb (%ken%) |
+------------------------+
| kenvie                 |
+------------------------+
1 row in set (0.00 sec)

修改数据表名称

#rename table 旧表名 to 新表名;
rename table keaicool to keai;

#alter table 旧表名 rename to 新表名;
alter table keaicool rename to keai;

在表中添加数据

#添加一行数据
#INSERT INTO 表名 VALUES ('第一个字段','第二个字段','第三个字段','第四个字段');
INSERT INTO kenvie VALUES ('1','华硕','7999','坚如磐石');

#添加部分数据
#insert into 表名 (字段名,字段名)values (数据,数据);
insert into kenvie (id,name) values ('2','华为');
#insert into 表名 set 字段名=数据,字段名=数据;
insert into kenvie set id=3,name='联想';

#添加多行数据
insert into 表名 values ('第一个字段','第二个字段','第三个字段','第四个字段'),('第一个字段','第二个字段','第三个字段','第四个字段');
insert into kenvie values (4,'游匣','7888','不知道1'),(5,'联想','8399','');

查看数据表结构详细信息

show full columns from kenvie;
示例:
mysql> show full columns from kenvie;
+-------+--------------+--------------------+------+-----+---------+-------+---------------------------------+----------+
| Field | Type         | Collation          | Null | Key | Default | Extra | Privileges                      | Comment  |
+-------+--------------+--------------------+------+-----+---------+-------+---------------------------------+----------+
| id    | int          | NULL               | YES  |     | NULL    |       | select,insert,update,references | 编号     |
| name  | varchar(32)  | utf8mb4_0900_ai_ci | YES  |     | NULL    |       | select,insert,update,references | 商品名称 |
| price | int          | NULL               | YES  |     | NULL    |       | select,insert,update,references | 商品价格 |
| des   | varchar(255) | utf8mb4_0900_ai_ci | YES  |     | NULL    |       | select,insert,update,references | 商品描述 |
+-------+--------------+--------------------+------+-----+---------+-------+---------------------------------+----------+
4 rows in set (0.00 sec)

查看数据表字段结构

#desc 表名;
DESC kenvie;
示例:
mysql> desc kenvie;
+-------+--------------+------+-----+---------+-------+
| Field | Type         | Null | Key | Default | Extra |
+-------+--------------+------+-----+---------+-------+
| id    | int          | YES  |     | NULL    |       |
| name  | varchar(32)  | YES  |     | NULL    |       |
| price | int          | YES  |     | NULL    |       |
| des   | varchar(255) | YES  |     | NULL    |       |
+-------+--------------+------+-----+---------+-------+
4 rows in set (0.00 sec)

修改字段结构

#修改字段名
#alter table 表名 change 旧字段名 新字段名 字段类型;
alter table kenvie change price pri int;

#修改字段类型
#alter table 表名 modify 字段名 新字段类型;
alter table kenvie modify pri varchar(8);

新增字段并指定位置

#alter table 表名 add 新字段名 字段名 after 字段名;
alter table kenvie add num int after name;

删除字段

#alter table 数据库名 drop 字段名;
alter table kenvie drop num;

修改字段位置

#alter table 表名 modify 字段名 字段类型 after 字段名;  --first
alter table kenvie modify pri varchar(8) after des;

查看表中数据

#查看表中全部数据
#select 字段 from 表名;
select * from kenvie;
示例:
mysql> select * from kenvie;
+------+------+-------+----------+
| id   | name | price | des      |
+------+------+-------+----------+
|    1 | 华硕 |  7999 | 坚如磐石 |
|    2 | 华为 |  NULL | NULL     |
|    3 | 联想 |  NULL | NULL     |
|    4 | 游匣 |  7888 | 不知道1  |
|    5 | 联想 |  8399 |          |
+------+------+-------+----------+
5 rows in set (0.00 sec)

#查看表中部分数据
#select 字段 from 表名 where 字段名=数据;
select * from kenvie where id=1;
示例:
mysql> select * from kenvie where id=1;
+------+------+-------+----------+
| id   | name | price | des      |
+------+------+-------+----------+
|    1 | 华硕 |  7999 | 坚如磐石 |
+------+------+-------+----------+
1 row in set (0.00 sec)

修改表中数据

#将第一行的价格修改为8888
update keai set price=8888 where id=1;
#删除第一行
delete from keai where id=3;

让设置字段中文

#select 字段名 '替换中文',字段名 '替换中文' from 数据表名;
select name '姓名',age '年龄' from my_yueshu; 

约束

默认约束

#设置默认值

create table my_yueshu (name varchar (32),age int unsigned default 18);

#alter table 数据表名 modify 字段名 字段类型 unsigned default 默认值;
alter table my_yueshu modify age int unsigned default 18;

#取消默认值
#alter table 数据表名 modify 字段名 字段类型 unsigned;
alter table my_yueshu modify age int unsigned;

非空约束

#not null 不能为空
create table not_null(n1 int,n2 int not null,n3 int not null default 18);

唯一约束

#创建唯一性数据表uni
create table uni(id int unsigned unique,username varchar(50));
#插入一行数据
insert into uni (id, username)values (1,'王');

#再插入一个id同样为1的一行数据
insert into uni (id, username)values (1,'李');
#这时就报错,因为id这个字段有唯一性,1用过以后就不能用了

#把1改成2再插入试试
insert into uni (id, username)values (2,'李');
#这时就插入成功

主键约束

create table kenvie (id int primary key ,name varchar(32));
desc kenvie;
insert into kenvie values (1,'牛');  //填入一行数据
insert into kenvie values (1,'马');  //再填入1就报错
insert into kenvie values (null,'马');  //填入空也报错
alter table kenvie drop  primary key ;  //删除主键约束
alter table kenvie add primary key(id) ;  //添加主键约束
alter table kenvie modify  id int;   //删除非空约束

自动增长

create table my_auto (id int primary key auto_increment,name varchar(32));
desc my_auto;
insert into my_auto (name) values  ('kenvie');   //给name字段填入kenvie
insert into my_auto values (null,'keai');   //第二行id字段填入null,name字段填入keai
insert into my_auto values (6,'keaiai');   //第三行id字段填入6,name字段填入keaiai
insert into my_auto values (0,'ddd');    //第四行id字段填入0,mysql会忽略该值,使用增长值,所以这行插入结果是7
alter table my_auto  AUTO_INCREMENT = 10; #修改自动增长值下次为10
insert into my_auto (name) values  ('keaiiii');  #10,keaiiii
alter table my_auto modify  id int;   #删除自动增长
alter table my_auto modify  id int auto_increment;   #添加自动增长
最后修改:2021 年 06 月 28 日
如果觉得我的文章对你有用,请随意赞赏