账号管理
手动
管理界面如下。
创建账号
#创建qwe账号,密码123456,拥有全部数据库的权限
GRANT ALL PRIVILEGES ON *.* TO 'qwe'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
#创建zara账号,密码zara123,只拥有TUTORIALS数据库的权限
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
ON TUTORIALS.*
TO 'zara'@'localhost'
IDENTIFIED BY '123456';
DDL语言
数据库管理
创建
CREATE DATABASE 库名;
CREATE DATABASE qqqq;
删除
DROP DATABASE IF EXISTS 库名;
DROP DATABASE IF EXISTS qqqq;
表管理
创建
#创建表
CREATE TABLE IF NOT EXISTS book(
bid INT PRIMARY KEY,
bname VARCHAR(20),
bak VARCHAR(10)
)
基本语句
#添加数据
INSERT INTO book VALUES
(1,'斗罗一','2'),
(2,'斗罗二','1'),
(3,'斗罗三','1'),
(4,'斗罗四','2'),
(5,'斗罗五','2');
#查询表
SELECT * FROM book;
#删除数据
delete * from book#删除全部
delete * from book where bid=1
查看表结构
#查看表结构
DESC book;
操作列
#修改列名或数据类型
ALTER TABLE book CHANGE COLUMN ID bid INT;
#添加列
ALTER TABLE book ADD COLUMN aaa INT;
#删除列
ALTER TABLE book DROP COLUMN aaa;
修改表名
ALTER TABLE books RENAME TO book;
复制表
#复制表结构
CREATE TABLE books LIKE book;
#复制表加数据
CREATE TABLE bookss SELECT * FROM book;
#只复制部分数据
CREATE TABLE booksss SELECT bid,bname FROM book WHERE bak='2';
删除表
DROP TABLE IF EXISTS book;
约束
#————约束————
#主键——PRIMARY KEY
#外键——REFERENCES 表名(列名)
#唯一——UNIQUE
#检查——CHECK(sex=‘男’ or sex=‘女’)
#默认——DEFAULT(‘不详’)
约束相关代码
#创建表时添加约束
CREATE TABLE IF NOT EXISTS book(
bid INT PRIMARY KEY,
bname VARCHAR(20) UNIQUE,
bak VARCHAR(10) DEFAULT('不详')
)
查看约束
SHOW INDEX FROM 表名;
SHOW VARIABLES LIKE '%约束名%';
#----创建约束----
#键表时添加(加在添加表的下面在括号里)
CONSTRAINT 表名 约束(列名或内容)
CONSTRAINT 主表 FOREIGN KEY(主表列) REFERENCES 外键表(外表列)#外键不一样
#外面添加
ALTER TABLE book MODIFY COLUMN 列名 约束#列级
ALTER TABLE book ADD 约束(列名或内容)#表级
ALTER TABLE 主表 ADD CONSTRAINT 约束名 FOREIGN KEY(主表列) REFERENCES 外键表(外表列)#表级
#----删除表约束----
DROP TABLE IF EXISTS 表名
DROP TABLE 表名 DROP 约束#删除主键
DROP TABLE 表名 DROP INDEX 列名#删除唯一
ALTER TABLE book MODIFY COLUMN bak VARCHAR(20);
#添加约束并修改数据类型
ALTER TABLE book MODIFY COLUMN bname VARCHAR(25) NOT NULL;
标识列
#标识列 AUTO_INCREMENT
CREATE TABLE IF NOT EXISTS tb_a(
id INT UNIQUE AUTO_INCREMENT,#默认增长1
name VARCHAR(20)
)
INSERT INTO tb_a VALUES(1,'斗一');
INSERT INTO tb_a(name) VALUES('斗二');
SELECT * FROM tb_a
SET AUTO_INCREMENT_INCREMENT=2;#设置自动增长为2
总结
学习了部分新的语句,加深了对已经学会的sql语句的印象;