MySQL--表的操作
库的操作
-- 创建库 create database 库名 charset utf8;
库的删除
-- 删除库 drop database 库名;
库的使用(进入)
-- 进入库 use 库名;
库的查看
--查看库 show databases ; -- 查看当前用户下的所有库 select database(); -- 查看当前使用的库 show create database 库名; -- 查看创建库的信息
数据库里的注释:--加空格 或者#
表的操作
create table 表名
CREATE TABLE test( id int not NUll auto_increment PRIMARY key, -- 创建一个ID字段,数据类型是int 不为空not null 自动累加 auto_increment 设置为主键 PRIMARY key name VARCHAR(50) NOT NULL, -- 创建一个name字段,数据类型varchar相当于Python的str,后面带字符串长度,不为空notnull sex CHAR(2) NOT NULL -- 创建一个sex字段,数据类型char后面字符串长度,不为空 -- 注意最后一个列名后不应该带逗号 )
varchar 和 char的区别
-- varchar 设定长度后,按实际录入占用大小 -- char 设定长度后,只要不超过设定的长度,占用的长度都是设定的长度,即设定是100,就算你只输入1个字符,依旧占用100个字符
主键 primary key
-- 一个表只能有一个主键,且主键不重复
自动累加 auto_increment
-- 若启动自动累加,则每新加一个数据,自动加1,就算在中间插入一个数据,该数据的序列也是累加后的数字,而不会根据插入的位置产生一个插入位置的序列号; -- 只用用在索引或者主键中
表的查看
select * FROM 表名; -- 查看表数据 desc 表名; -- 查看表结构 show create table 表名; -- 查看表的创建信息
表的删除
drop table 表名;
表的修改
alter table test add age int not null; -- 添加表字段 用到关键字修改 alter+表table+表名+关键字增加add+字段名+数据类型+是否为空 alter table test drop age; -- 删除表字段 alter table test modify name char(100) null; -- modify 修改当前字段的属性,不能改变字段的名称 alter table test change name varchar(50) not null; -- change 修改字段的属性,包括该字段的名称和属性
modify 和 change的区别
-- modify 只能修改字段内的属性,不能改字段名 -- change 可以修改字段的名字和属性
-- 注意事项: -- 字段名 和 数据类型必须紧挨着 -- 数据类型后面的可以不按顺序输入,但是建议按照正常规则填写
添加\删除主键
alter table test add PRIMARY KEY(id); -- 添加主键 alter table test add PRIMARY KEY(id,name); -- 联合主键 alter table test drop PRIMARY KEY; -- 删除主键
主键和联合主键解析
设置默认值default
alter table test alter sex set default '男'; -- 设置默认值 set 设置 alter table test alter sex drop default; -- 删除默认值
表的重命名
RENAME table test to testtable; -- 修改表名
表的复制
create table test select * from testtable; -- 完整的复制一个表,但主键自增、索引、触发器、外键不会被复制 create table test1 select * from testtable where id = '1'; -- 根据条件选择性的将数据内容复制过来 create table test2 like testtable; -- 只复制表结构,数据内容、外键、索引不会被复制,但会复制主键
数据类型
浙公网安备 33010602011771号