1.创建数据库
CREATE DATABASE 数据库名
;
CREATE DATABASE database_name;
2.查看所有数据库
SHOW DATABASES;
3.查看指定数据库是否存在
SHOW CREATE DATABASE 数据库名
;
SHOW CREATE DATABASE database_name;
4.选择数据库
USE 数据库名
;
USE database_name;
5.删除数据库
DROP DATABASE 数据库名
;
DROP DATABASE database_name;
6.删除数据库实例
DROP DATABASE 实例名
;
DROP DATABASE mybase;
7.查询当前存储引擎
SHOW ENGINES;
8.创建数据库表
CREATE TABLE<表名>
(
字段名1 数据类型 [列级别约束条件] [默认值],
字段名1 数据类型 [列级别约束条件] [默认值],
.
.
[表级别的约束条件]
)
9.boolean类型的值在mysql中用tinyint()表示,1代表true,0代表false
10.主键(主码):PRIMARY KEY
字段名 数据类型 PRIMARY KEY[默认值]
CREATE TABLE DB_1
(
ID INT(11) PRIMARY KEY,
NAME VARCHER(25)
)
也可以定义完所有列后再定义主键
CREATE TABLE DB_2
(
ID INT(11),
NAME VARCHER(25),
PRIMARY KEY(ID)//括号里可以添加多字段主键,PRIMARY KEY(name , salary)
)
11.外键约束
下面这个是主表,主键是 id
CREATE TABLE tb_dept1
(
id INT(11) PRIMARY KEY,
name VARCHAR(25)
)
下面的表是从表,depId 是外键
CREATE TABLE db_5
(
id INT(11) PRIMARY KEY,
name VARCHAR(25),
deptId INT(11),
salary FLOAT,
CONSTRAINT fk_emp_dept1 FOREIGN KEY(deptId) REFERENCES tb_dept1(id)
)
CONSTRAINT 外键名称] //添加外键名称
FOREIGN KEY(属性) //设置外键,在从表中找一个属性
REFERENCES [表名](属性) //设置关联那张表的哪个主键
12.非空约束
...
(
id int(11) primary key,
name varchar(25),
sex boolean not null
)
13.唯一性约束
字段名 数据类型 unique
...
(
id int(11) primary key,
name varchar(22) unique
)
14.默认约束
defaule ‘北京’,当没有为字段赋值,那么系统自动为其赋值。
create table db_7
(
id int(11) primary key,
name varchar(25) not null,
city varchar(20) default '北京'
)
15.自增属性
auto_increment
create table db_8
(
id int(11) primary key auto_increment,
name varchar(25) not null
)
16.查看数据表基本结构
describe <表名>
或简写为desc <表名>
| Field | Type | Null | Key | Default | Extra |
-----------------------------------------------------
| id | int(null) | No | PRI | NULL | |
-----------------------------------------------------
| name | varchar(25)| Yes | | NULL | |
-----------------------------------------------------
Field -- 属性
Type -- 数据类型
Null -- 是否可以存储空值
Key -- 表示该列是否已经编制索引。PRI 主键的一部分,UNI表示是UNIQUE的一部分,MUL该列中某个给定值允许出现次数
16.查看数据表详细结构
show create table <表名>
17.修改表名
alter table <旧表名> rename <新表名>
18.显示某个库下的所有表
show tables;
19.修改表属性的数据类型
alter table <表名> modify <属性> <类型>
alter table tb_new modify name varchar(28);
20.修改属性名
alter table <表名> change <旧字段名> <新字段名> <新数据类型>;
alter table tb_new change name newname varchar(25);
21.添加字段
alter table <表名> add <新字段> <数据类型>
[约束条件] [first | after 已存在字段名]
alter table db_2 add address varchar(100)//默认是添加到最后面
alter table db_2 add newid int(11) first;//添加到最头部
alter table db_2 add love varchar(11) after sex;//在sex之后添加love属性
22.删除字段
alter table <表名> drop <字段名>;
alte table db_2 drop newid;
23.修改字段排序
alter table <表名> modify <已有属性> <已有属性的类型> [first | after];
alter table db_2 modify id int(11) first;
alter table db_2 modify id int(11) after sex;
24.更改表的存储引擎
alter table <表名> engine=<更改后的存储引擎名>;
alter table db_2 engine=MyISAM;
25.删除表的外键约束
alter table 表名
drop foreign key 外键约束名
;
alter table db_2 drop foreign key fk_emp_dept1;
26.删除没有被关联的表
drop table [if exists] 表1,表2......
;
如果表存在可以删除多个表,多个表之间用逗号
隔开。
drop table db_2;
27.删除被其他表关联的主表
需要先接触主表和其他表的外键关联,然后删除主表。
解除关联就用 25.删除外键约束
28. 修改表的所有字段的字符集为utf8
alter table 表名
convert to character set utf8
;
29.表里插入数据
insert into 表名
values(对应属性的值
,对应属性的值
),(2,‘abc’),(3,‘abc’),(4,‘abc’);
一行的值就是一个括号,有几个就用逗号隔开写几个。