MySql数据库
表:
字段 数据类型 约束
约束:主键,外键,非空,默认值;
win + r 输入cmd
输入命令:mysql -u root -p。输入密码。
输入命令注意:
1.命令结束符号是分号。
2.所有符号都是英文半角。
3.只有遇到分号,mysql才认为结束。
4.多个命令用分号一行可用隔开。
5.引号要打全。
查看数据库命令:
show databases;
创建数据库:
create database 库名;
删除数据库:
drop database 库名;
进入数据库:
use 库名;
查看所有的表:
show tables;
创建表: 字段名 数据类型 约束
约束:主键:primary key
非空:not null
默认值:default
创建表注意:
1.字段必须有字段名和数据类型。
2.多个字段用逗号分隔。
3.最后一个字段不要加逗号。
create table aa(
sno varchar(20) primary key,
sname varchar(20) default "老王",
ssex int(10)
);
查看表结构:
desc 表名;
删除表:
drop table 表名;
数据的增删改查:
添加:
添加 到 那个表(那些列) 值是 (值1,值2...);
insert into 表名 values(值1,值2...),(值1,值2...);
添加全字段可以省略表名后面的列
insert into aa(sno,sname,ssex) values(值1,值2,值3)
删除:
删除 从 那个表(删除的内容)
delete from 表名;
修改:
修改 那个表 设置 哪个字段=值
Update 表名 set 字段1 = 值1,字段2 = 值2.....
(as 改表头)
查询:
查询 所有的字段 从 那个表;
select * from 表名;
查询 学号字段 从 aa表;
select sno from aa;
(1)简单查询:
select * from 表名;
(2)条件查询:
where后面加条件,条件要写清楚。
select * from 表名 where 字段='值';
查询多个条件:
select * from 表名 where 字段='值' and 字段='值';
或者用or 并且用and。
(3)模糊查询:
select * from 表名 where 字段 like '% %'; ( _ 代表一个字 , %为任意多个字符)
(4)排序查询:
select * from 表名 order by 字段 排序;(desc降序/asc升序)
(5)范围查询: (关系运算符,between...and...)
X
(6)离散查询: (in,not in)
select * from 表名
(7)聚合查询,统计查询
(8)分页查询: (limit 从第几条开始,取多少条数据)
select distinct 字段 from 表名 limit (pagesize-1)*5,5
(9)去重查询:
select distinct 字段 from 表名
(10)分组查询
select count(*),Brand from Car group by Brand
select Brand from Car group by Brand having count(*)>3
高级查询
1.连接查询,对列的扩展
select * from Info,Nation
select Info.Code,Info.Name,Info.Sex,Nation.Name,Info.Birthday from Info,Nation where Info.Nation = Nation.Code
select * from Info join Nation
select * from Info join Nation on Info.Nation = Nation.Code
2.联合查询,对行的扩展
select Code,Name from Info
union
select Code,Name from Nation
3.子查询
(1)无关子查询
外层查询 (里层查询)
子查询的结果当做父查询的条件
子查询:select 字段 from 表名 where 字段='XX'
父查询:select * from Info where 字段 = ''
select * from Info where 表名 = (select 字段 from 表名 where 字段='XX')
(2)相关子查询
父查询:select * from 表名 where 字段