1、显示有多少个数据库
show databases;
2、选择哪个数据库
use 数据库名
3、创建新的数据库
create database 数据库名字 default charset=utf8;
4、删除数据库
drop database 数据库名字
5、创建表
create table 表名(
列名 类型,
列名 类型,
列名 类型,
...
);
6、删除表
drop table 表名
7、显示当前数据库有多少表
show tables;
8、四个键
primary key #---------------------主键 表示名字是唯一的一个,一般为ID
not null #----------------表示非空,默认是null
unique #-----------------表示唯一 但如果设置为可以为null,则可有多个null.即null不唯一
default '未知' #--------------默认显示
9、创建表,加约束
如果有主外键
先创建主键表,再创建外键表
如果有主外键
先删除外键表,再删主键表
主键:
create table grade(
gid int primary key,
gname varchar(20) unique not null
);
外键:
create table student(
sid int primary key,
sname varchar(20),
ssex char(1) not null,
snickname varchar(20) unique,
saddress varchar(200) default '未知',
gnum int not null,
constraint 新名字 foreign key(gnum) references grade(gid) on delete cascade
);
加上 on delete cascade 这句话,就可以将主键中的值删除,从而外键里带着此值的信息也都被删除。没有 on delete cascade 这句话如果先删除主键则无法删除。
10、增加:
create table grade(
gid int auto_increment primary key,
gname varchar(20) unique not null
);
select * from grade
insert into grade values(1,'a')
grade后面什么都不写,默认跟所有参数,所以下句会报错参数不匹配,少一个参数
insert into grade values('b') 错误
主键有自动增加后,更推荐下面这种写法
insert into grade(gname) values('p')
删除:
delete from 表名 (where) 条件(根据条件删除)没有括号代表将表清空。
修改:
update 表名
set 列名=值,列名=值
[where 条件]
查询:
select * from 表名; 查询所有
select 列名 [改别名],列名 from 表名 [where 条件]