标签:select UNC 开始 多个 mys 清空 ESS ike localhost
create database 数据库名charset utf8;
create table t1(id int)engine=innodb;
create table t2(id int)engine=memory;
语法:
create table 表名(字段名 类型[()])
...
* 整数类型:
* create table t1(id int(11)unsigned);在int确定数据类型后附加的约束条件
* not null:不能为空如果传空了就是默认值default
* create table t2(
id int,
name char(6)
sex enum(‘male‘,‘female‘)not null default ‘male‘
);
* create table department(id int,name char(10) unique);
* create table department(id int,name char(10),unique(id),unique(name));
* 联合唯一:create table services(id int,ip char(15),prot int,unique(id),unique(ipprot));
* 约束:not null unique
* 存储引擎(innodb):对于innodb存储引擎来说,一张表内必须有一个主键
* 单列主键
* create table t17(id int primary key,name char(16));
* 复合主键
* create table t18(ip char(15),port int,primary key(ip,port));
* create table t19(id int primary key auto_increment);在插入字段的时候只需要插入数据,id会自增
* auto_increment步长与起始设置:
* 查看:show variables like ‘auto_inc%‘
* 设置步长:
* set session auto_increment_increment=5;
* set global auto_increment_increment=5;
* 设置起始偏移量:
* set global auto_increment_offset=3;
* 起始偏移量<=步长
* 使用delete表清空后,会记录上次自增到什么位置,再传值的时候会从上次结束的地方开始
* 使用truncate清空表后不会出现上述情况
* 先建被关联的表,并且保证被关联的字段是唯一的,再建关联的表
* create table dep(id int primary key,mame char(16),comment char(6));
* create table emp(id int primaty key,name char(10),sex enum(‘male‘,‘female‘),dep_id int,foreign key(dep_id) references dep(id));
* 插入数据:
* 先往被关联的表插入记录
* 再往关联表插入记录
* 删除数据:
* 先删除关联的数据
* 再删除被关联的数据
* 在建立关联表时:在foreign ket加上 on delete cascade与on update cascade 没有逗号
* 尽量不要去建立表关系,为了方便扩展尽量在逻辑层面去设计表关系
* 一个表的多条记录对应另外一个表的一条记录
* 一个表的一条记录对应另一个表的多条记录,并且另一个表的一条记录对应一个表的多条记录,解决方法是建立一个中间表,存放两个表之间的表关系
* 一一对应的关系
1. 插入完整数据(顺序插入)
语法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
语法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n);
2. 指定字段插入数据
语法:
INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
3. 插入多条记录
语法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
4. 插入查询结果
语法:
INSERT INTO 表名(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
语法:
UPDATE 表名 SET
字段1=值1,
字段2=值2,
WHERE CONDITION;
示例:
UPDATE mysql.user SET password=password(‘123’)
where user=’root’ and host=’localhost’;
语法:
DELETE FROM 表名
WHERE CONITION;
示例:
DELETE FROM mysql.user
WHERE password=’’;
练习:
更新MySQL root用户密码为mysql123
删除除从本地登录的root用户以外的所有用户
#语法
SELECT 字段1,字段2... FROM 表名
WHERE 条件
GROUP BY field
HAVING 筛选
ORDER BY field
LIMIT 限制条数
from 找到表
where 拿着where指定的约束条件,去文件/表中取出一条条记录
group by 将取出的一条条记录进行分组group by,如果没有group by 则整体作为一组
having 将分组的结果进行having过滤
select 执行select
distinct 去重
order by 将结果按条件排序
limit 限制结果的显示条数
标签:select UNC 开始 多个 mys 清空 ESS ike localhost
原文地址:https://www.cnblogs.com/wualin/p/9904741.html