创建用户
GRANT ALL PRIVILEGES *.*'lwm'@'%'IDENTIFIED BY'123' WITH WITH GRANT OPTION;
**创建账号,密码123只拥有 tutorTlals的权限**
CREATE SELECT.INSERT,UPDATE,CREATE,DROP
ON TUTORIALS.*
TO 'zara'@'localhost'
IDENTIFIED BY '123'
库和表的管理
创建库
create database [if not exists] 名字
库的修改:
语法:rename database 旧库名 to 新库名
库的删除
drop database if exists 库名
mysql删除表
DROP TABLE lwm ;
MySQL 插入数据
语法
INSERT INTO lwm ( 1,2,3 )VALUES( a, b,c );
MySQL 查询所数据
SELECT *FROM LWM
表的复制
CREATE TABLE COPY SELECT *FROM author;
复制表的结构和数据
部分数据
CREATE TABLE COPY2 id ,au_name FROM author;
WHERE nation=“你要复制的数据”
复制表的字段
CREATE TABLE copy3
SELECT id,au_name
FROM author
WHERE 0;
复制表的结构
CREATE TABLE COPY LIKE author;
约束
常见的约束 语法上面都支持 ,但外键约束没有效果
1. NOT NULL :非空约束,用于保证该字段的值不能为空
比如姓名,学号等
2. DEFAULT :默认约束,用于保证该字段有默认值
比如性别
3. PRIMARY KEY :主键约束,用于保证该字段的值具有唯一性,并且非空
比如学号,员工编号等
4. UNIQUE : 唯一约束,用于保证该字段的值具有唯一性,可以为空
比如座位号
5.CHECK:检查约束
比如年龄、性别,可以设置一个范围
6.FOREIGN KEY :外键约束,用于限制两个表的关系,用于保证该字段的值必须来自于主表的关联列
2.表级约束:
除了非空、默认。其他的都支持
二、修改表时 添加约束
2.1.添加非空约束
ALTER TABLE stuinfo10 MODIFY COLUMN stuname VARCHAR(20) NOT NULL;
2.2.添加默认约束
ALTER TABLE stuinfo10 MODIFY COLUMN age INT DEFAULT 18;
2.3.添加主键
①列级约束
ALTER TABLE stuinfo10 MODIFY COLUMN id INT PRIMARY KEY;
②表级约束
ALTER TABLE stuinfo10 ADD PRIMARY KEY(id);
2.4.添加唯一
ALTER TABLE stuinfo10 MODIFY COLUMN seat INT UNIQUE;
ALTER TABLE stuinfo10 ADD UNIQUE(seat);
2.5.添加外键,
ALTER TABLE stuinfo10 ADD 【CONSTRAINT fk_stauinfo_major】 FOREIGN KEY(majorid) REFERENCES major(id);
删除约束
1删除默认约束
ALTER TABLE stuinfo10 MODIFY COLUMN age INT;
2删除非空约束
ALTER TABLE stuinfo10 MODIFY COLUMN stuname VARCHAR(20) NULL;
3删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
4.删除唯一
ALTER TABLE stuinfo10 DROP UNIQUE(seat);
5.删除外键约束
ALTER TABLE stuinfo10 DROP FOREIGN KEY
主键约束和唯一约束的对比
四大引擎
InnoDB存储引擎
存储限制 256TB
InnoDB是为处理巨大数据量的最大性能设计。
InnoDB支持外键完整性约束
InnoDB被用在众多需要高性能的大型数据库站点上