-
sql 语句:DDL 语句,DML 语句,DQL 语句,DCL 语句
DDL 语句操作数据库以及表的 create, drop, alter
DML 语句对表数据进行 insert(增加),delete(删除),update(修改)
DQL 语句对表数据进行 select 查询
mysql 数据库约束:主键约束,唯一约束,非空约束
控制台连接数据库
// 登录格式1 mysql -u用户名 -p密码 mysql -uroot -proot // 登录格式2 mysql -hip地址 -u用户名 -p密码 mysql -u127.0.0.1 -uroot -proot // 登录格式3 mysql --host=ip地址 --user=用户名 --password=密码 mysql --host=127.0.0.1 --user=root --password=root // exit 退出数据库
sql 结构化查询语言
DDL 数据定义语言
用来定义数据库对象:数据库,表,列。关键字:create, drop, alter
DML 语句 数据操作语言
用来对数据库中表的数据进行增删改查。关键字:insert, delete, update
DQL 语句 数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where
DCL 语句 数据控制语言
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE
sql 通用语法
sql 语句可以单行或多行,以分号结尾
可以使用空格和缩进来增强语句的可读性
mysql 数据库的 sql 语句不区分大小写,关键字建议使用大写
DDL 语句
创建数据库
-- 直接创建数据库 CREATE DATABASE 数据库名; -- 判断是否存在并创建数据库 CREATE DATABASE IF NOT EXISTS 数据库名; -- 创建数据库并指定字符集(编码类型) CREATE DATABASE 数据库名 CHARACTER SET 字符集; CREATE DATABASE db1; CREATE DATABASE IF NOT EXISTS db2; CREATE DATABASE db3 CHARACTER SET gbk; -- 查看某个数据库 SHOW CREATE DATABASE 数据库名; SHOW CREATE DATABASE db1;
修改数据库
-- 修改数据库字符集格式 ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集; ALTER DATABASE db3 DEFAULT CHARACTER SET UTF8;
删除数据库
-- 删除数据库 DROP DATABASE 数据库名; DROP DATABASE db4;
使用数据库
-- 查看正在使用的数据库 SELECT DATABASE(); -- 切换数据库 USE 数据库名; USE DB2;
创建表
CREATE TABLE 表名 (字段名1,字段类型1,字段名2,字段类型2......); -- 建议写成如下格式 CREATE TABLE 表名 ( 字段名1,字段类型1, 字段名2,字段类型2, ...... ); CREATE TABLE student( id int, name varchar(10), age int, birthday date, sex char(1) );
mysql 数据库常用类型
类型 描述 int 整型 double 浮点型 varchar 字符串型 data 日期类型:yyyy-mm-dd 详细的数据类型
分类 类型名称 说明 整数类型 tinylnt 很小的整数 smallint 小的整数 mediumint 中等大小的整数 int(integer) 普通大小的整数 小数类型 float 单精度浮点数 double 双精度浮点数 decimal (m,d) 压缩严格的定点数 日期类型 year YYYY 1901-2155 time HH:MM:SS data YYYY-MM-DD datatime YYYY-MM-DD HH:MM:SS timestamp 文本,二进制类型 CHAR(M) M 为 0~255 之间的整数 VARCHAR(M) M 为 0~65535 之间的整数 TINYBLOB 允许长度 0~255 字节 BLOB 允许长度 0~65535 字节 MEDIUMBLOB 允许长度 0~167772150 字节 LONGBLOB 允许长度 0~4294967295 字节 TINYTEXT 允许长度 0~255 字节 TEXT 允许长度 0~65535 字节 MEDIUMTEXT 允许长度 0~167772150 字节 LONGTEXT 允许长度 0~4294967295 字节 VARBINAPY(M) 允许长度 0~M 个字节的变长字节字符串 BINARY(M) 允许长度 0~M 个字节的变长字节字符串 查看表
-- 查看某个数据库中的所有表 SHOW TABLES; -- 查看表结构 DESC 表名; -- 查看创建表的sql语句 SHOW CREATE TABLE 表名;
快速创建一个表结构相同的表
CREATE TABLE 新表名 LIKE 旧表名; -- 创建 s1 表, 表结构和student表结构相同 CREATE TABLE s1 LIKE student;
删除表
-- 直接删除表 DROP TABLE 表名; -- 判断表是否存在并删除表 DROP TABLE IF EXISTS 表名; DROP TABLE db1; DROP TABLE IF EXISTS db2;
修改表结构
-- 添加表列 ALTER TABLE 表名 ADD 列名 类型; -- 修改列类型 ALTER TABLE 表名 MODIFY 列名 新的类型; -- 修改列名 ALTER TABLE 表名 CHANGE 旧列名 行列名 类型; -- 删除列 ALTER TABLE 表名 DROP 列名; -- 修改表名 RENAME TABLE 表名 TO 新表名; -- 修改字符集 ALTER TABLE 表名 character set 字符集;
DML 语句
插入记录
1.关键字说明
INSERT INTO 表名 - 表示往那张表添加数据 (字段名1, 字段名2, ...); -- 要给那些字段设置值 VALUES (值1, 值2, ...); -- 设置的具体的值
值与字段必须对应,个数相同,类型相同
值的数据大小必须在字段的长度范围之内
除了数组类型外,其他字段类型的值必须使用引号引起。(建议使用单引号)
如果要插入空值,可以不写字段,或者插入 null
插入全部字段
-- 所有的字段名都写出来 INSERT INTO 表名 (字段名1, 字段名2, ...) VALUES (值1, 值2, ...); -- 不写字段名 INSERT INTO 表名 VALUES (值1, 值2, ...);
插入部分数据
-- 没有添加数据的字段会使用null INSERT INTO 表名 (字段名1, 字段名3, ...) VALUES (值1, 值3, ...);
案例
-- 创建db3数据库并使用 CREATE DATABASE db3; USE db3; -- 创建完整学生信息表,包括学员的id,姓名,年龄,性别,家庭地址,电话号码,生日,数学成绩,英语成绩 CREATE TABLE student( id int, name varchar(20), age int, sex char(1), address varchar(200), phone varchar(20), birthday date, math double, english double ); -- 插入一条数据 顺序可以打乱,字段名和值要对应 INSERT INTO student(id,name,sex,age,birthday,address,phone,math,english)values(1,'zhangsan','男','19','2010-12-11','北京市','18833336666',98.5,67); -- 校验插入的数据,查看student表的所有字段数据 SELECT * FROM student;
蠕虫复制
在已有的数据基础上,将原来的数据进行复制,插入到对应的表中
-- 语法格式化 INSERT INTO 表名1 SELECT * FROM 表名2; -- 创建student2表,student2结构和student表结构一样 CREATE TABLE student LIKE student2; -- 将student表中的数据添加到student2表中 INSERT INTO student SELECT * FROM student2; -- 只复制student表中name,age字段数据到student2表中使用如下格式 INSERT INTO student2(name,age) SELECT name,age FROM student;
更新表记录
-- 不带条件修改数据 全部修改 UPDATE 表名 SET 字段名=值; -- 带条件修改数据 指定范围修改 UPDATE 表名 SET 字段名=值 WHERE 字段名=值; -- 关键字 UPDATE: 修改数据 SET: 修改哪些字段 WHERE: 指定条件 -- 不带修改条件,将所有的性别改为女 UPDATE student SET sex='女'; -- 带条件修改数据,将id为2的学生性别修改为难 UPDATE student SET sex='男' WHERE id=2; -- 一次修改多列,把id为3的学生,年龄改为26, address改为北京 UPDATE student SET age=26, address='北京' WHERE id=3;
删除表记录
-- 不带条件删除数据 DELETE FROM 表名; -- 带条件删除数据 DELETE FROM 表名 WHERE 字段名=值; -- 带条件删除数据,删除id为3的记录 DELETE FROM student WHERE id=3; -- 不带条件删除数据删除表中的所有数据 DELETE FROM student;
truncate 删除表记录
delete 是将表中的数据一条一条删除
truncate 是将整个表摧毁,重新创建一个新的表,新的表结构和原来的表结构一模一样
TRUNCATE TABLE 表名;
DQL 语句
简单查询
--创建student表 CREATE TABLE student( id int, name varchar(20), age int, sex char(1), address varchar(200), phone varchar(20), birthday date, math doub1e, english doub1e ); --为student准备数据 INSERT INTO student values(1,'闫妮',43,'女','北京市', '12222222222', '2019-02-12',92.5,88); INSERT INTO student values(2,'郭富城',21,'男','上海市','1666666666', '2018-06-O6',97.5,65.5); INSERT INTO student values(4, '张学友',34,'男','杭州市','17777777777','2013-11-17',69,65); INSERT INTO student values(5,'成龙',51,'男','哈尔滨市','15555555555', '2005-10-12',88,97); INSERT INTO student values(6,'刘德华',57,'男','盘锦市','19999999999', '2015-11-11',74.5,92.5); INSERT INTO student values(7,'马伊刺',42,'女','长沙市','18888888888' , '2008-03-26',86.5,71.5); INSERT INTO student values(8,'黎明',49,'男','昆明市','11111111111','2000-09-14',77.5,60);I
查询表所有数据
-- 使用*表示所有列 SELECT * FROM 表名; SELECT * FROM student; -- 写出查询每列的名称 SELECT 字段名1,字段名2,字段名3,... FROM 表名; SELECT id,name,age,sex,address,phone FROM 表名;
查询指定列
-- 写出查询每列的名称 SELECT 字段名1,字段名2,字段名3,... FROM 表名; SELECT id,name,age FROM 表名;
别名查询
-- 查询时给列、表指定别名需要使用as关键字 -- 使用别名的好处是方便观看和处理查询到的数据 SELECT 字段名1 AS 别名, 字段名2 AS 别名,... FROM 表名; SELECT name AS 姓名, age AS 年龄 FROM student;
清除重复值
-- 查询指定列 并且 结果 不出现重复数据 SELECT DISTINCT 字段名 FROM 表名; -- 查询name,age列并且 结果 不出现重复name SELECT DISTINCT name, age FROM student;
查询结果参与运算
参与运算的必须是数值类型,查询显示新列,不会改动原数据
-- 某列数据和固定值运算 SELECT 列名1 + 固定值 FROM 表名; -- 某列数据和其他列数据参与运算 SELECT 列名1 + 列名2 FROM 表名; SELECT math+english 总成绩 FROM student; SELECT name 姓名,sex 性别,math 数学成绩,english 英语成绩,math+english 总成绩 FROM student; SELECT name,age+10 FROM student;
条件查询
-- 语法格式 SELECT 字段名 FROM 表名 WHERE 条件; -- 准备数据 INSERT into hero values(1,'业瑟',35,'男',320,'战上',3000,0,1,'2017-05-14',14.2); INSERT into hero values(2,'阿呆',19,'女',470,'刺客',1500,1100,0,'2019-06-11',15.6); INSERT into hero values(3,'老人子',75,'男',430,'战士',2500,0,1, '2016-11-18',17.7); INSERT into hero values(4, '吕布',40,'男',500,'悦士',2700,1000,1, ' 2015-04-22',12.2); INSERT into hero values(5,'甄姬',27,'女',210,'法师' ,1400,1900,0,'2018-06-06',13.1); INSERT into hero values(6,'旗嫩',25,'女',370,'时手',1600,1200,1,'2013-02-24',11.2); INSERT into hero values(7,'德玛调亚',35,'男',220,'战上' , 39oo,1500,1,'2011-02-14',11.2); INSERT into hero values(8,'孙尚否',24,'女',260,'时手',1300,900,0,'2020-03-12',9.2); INSERT into hero values(9,'孙策',39,'',280,'战上',3200,1100,1,'2016-07-14',16.7); INSERT into hero values(10,'孙悟空',32,'男',460,'战上',2900,1300,o,'2013-02-11',17.2); INSERT into hero values(11,'公孙策',37,'男',210,'法师',2200,700,1, '2019-09-16',11.4); INSERT into hero values(12,'上行孙',22,'男',195, 'W客',1400,1700,1,'2013-02-16',12.4); INSERT into hero values(13,'后蕾',39,'男',420,"射手',780,700,0,'2019-01-19' ,NULL);
比较运算符
-- > 大于 < 小于 <= 小于等于 >= 大于等于 <> != 不等于 SELECT * FROM hero where 条件(字段 运算符 筛选条件); -- 查询 定位为射手的英雄 SELECT * FROM hero where location='射手';
逻辑运算符
-- and 多个条件同时满足 -- or 多个条件其中一个满足 -- not 不满足 SELECT * FROM hero where age>35 AND life>2500; SELECT * FROM hero where age>35 OR max_score<1; SELECT * FROM hero where id=1 OR if=4 OR id=5; -- in 关键字 in里面的每个数据都会作为一次条件 SELECT * FROM hero where id in (1,4,5);
范围
-- BETWEEN 值1 AND 值2 表示从值1到值2的范围,包头包尾 SELECT * FROM hero WHERE grounding_data BETWEEN '2013-01-01' AND '2017-01-01'; SELECT * FROM hero WHERE grounding_data >= '2013-01-01' AND grounding_data <= '2017-01-01';
like 模糊查询
-- LIKE 表示模糊查询 SELECT * FROM 表名 WHERE 字段名 LIKE '通配符字符串'; -- MySQL 通配符有两个 %: 表示0个或多个字符 _: 表示一个字符 -- 查询姓孙的英雄 SELECT * FROM hero WHERE name LIKE '孙%'; -- 查询名字中含有孙字的英雄 SELECT * FROM hero WHERE name LIKE '%孙%'; -- 查询姓孙,且姓名是三个字的英雄 SELECT * FROM hero WHERE name LIKE '孙__';
排序
-- ORDER BY 子句 可以将查询的结果进行排序 (排序只是显示方式, 不会改变数据库中数据的顺序) SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC]; -- ASC 升序,默认的 DESC 降序 -- 单列排序 使用一个字段进行排序 -- 查询年龄小于35的英雄,按照年龄升序排列 SELECT * FROM hero WHERE age<=35 ORDER BY age ASC; -- 组合排序 先使用第一个字段进行排序 如果第一个字段相同,才使用第二个字段进行排序。以此类推 SELECT 字段名 FROM FROM 表名 WHERE字段=值 ORDER BY 字段名1 [ASC|DESC], 字段名2 [ASC|DESC]; -- 查询年龄小于35岁的英雄 按照年龄升序 如果年龄相同 按照生命值降序排列 SELECT * FROM hero WHERE age<=35 ORDER BY age ASC,lifr desc;
聚合函数
之前的查询都是横向查询,根据条件一行一行的进行判断,而聚合函数查询是纵向查询,对一列的值进行计算,返回结果值。聚合函数会忽略空值
count: 统计指定列的记录数(行数),值为NULL的不统计
sum: 计算指定列的数值和,如果不是数值,计算结果为0
max: 计算指定列的最大值
min: 计算指定列的最小值
avg: 计算指定列的平均值,如果不是数值,计算结果为0
-- 聚合函数写在sql语句SELECT 后 字段名的地方 SELECT 字段名... FROM 表名; SELECT COUNT(age) FROM 表名; -- 查询英雄的总数 SELECT COUTN(max_SCORE) FROM hero; -- 对于NULL的记录不统计,只要只用全部字段为衡量标准就不会有遗漏的错误统计出现 SELECT COUNT(*) FROM hero;
分组查询
-- 分组查询是使用 GROUP BY语句对查询信息进行分组 [HAVING 条件] 分组后的筛选 SELECT 字段1,字段2... FROM 表名 GROUP BY 分组字段 [HAVING 条件]; SELECT * FROM hero FROUP BY sex; -- 这就sql语句会将sex相同的数据作为一组,但是会返回每组的第一条,没有任何意义 -- 分组的目的就是为了统计,一般分组会和聚合函数一起使用 -- 分组后聚合函数 不操作所有数据,而是操作一组数据 SELECT SUM(life) FROM hero GROUP BY sex; -- 返回两组的生命值之和 -- 当使用摸个字段分组时,需要将这个字段查询出来,否则看不到数据是属于哪组的 SELECT SUM(life),sex FROM hero GROUP BY sex; -- 查询年龄小于30的,按性别进行分组,统计每组的人数 -- 1.先过滤年龄小于30的 2.分组 3.最后统计人数 SELECT sex,COUNT(*) FROM hero WHERE age<30 GROUP BY sex; -- 查询年龄大于25的 按性别分组,统计每组人数, 并只显示性别人数大于2的数据 -- 错误 SELECT sex,conut(*) FROM hero WHERE age<30 GROUP BY sex WHERE COUNT(*)>2; -- 正确 SELECT sex,conut(*) FROM hero WHERE age<30 GROUP BY sex HAVING COUNT(*)>2;
limit语句 分页
limit语句是限制的意思,限制查询记录的条数。limit语句要放在最后面
-- LIMIT语法格式 LIMIT offset,length; LIMIT length; -- offset是指偏移量,调过的记录数量,默认为0 length是指需要显示的总记录数 -- 查询hero表,从第三条开始显示,显示6条 SELECT * FROM hero LIMIT 2,6;
数据库约束
约束种类
PRIMARY KEY : 主键
UNIQUE : 唯一
NOT NULL : 非空
DEFAULT : 默认
FOREIGN KEY : 外键
主键约束
每个表有且只有一个主键,通常以id为主键
主键的特点:
主键必须包含唯一的值(不重复)
主键不能包含NULL值
-- 创建主键 字段名 字段类型 PRIMARY KEY; -- 创建表hero1,包含字段(id,name,age)将id作为主键 CREATE TABLE hero1( id int PRIMARY KEY, name varchar(20), age int )
删除主键
-- 删除主键 ALTER TABLE 表名 DROP PRIMARY KEY; -- 删除hero1表的主键 ALTER TABLE hero1 DROP PRIMARY KEY;
主键自增
-- AUTO_INCREMENT表示自动增长 -- 创建表hero2,包含字段(id,name,age)将id作为主键并自动增长 CREATE TABLE hero2( id int PRIMARY KEY AUTO_INCREMENT, name varchar(20), age int )
扩展:默认的AUTO_INCREMENT的起始值是1,下列语法可以修改起始值
AUTO_INCREMENT 表名 AUTO_INCREMENT = 起始值;
DELETE和TRUNCATE的区别 ●DELETE删除表中的数据,但不重置AUTO_ INCREMENT的值。 ●TRUNCATE摧毁表,重建表,AUTO_ _INCREMENT重置为1
唯一约束
-- 唯一约束 字段名 字段类型 UNIQUE; -- 创建表hero3,包含字段(id,name)将name设为唯一约束,不能出现相同的数据 CREATE TABLE hero3( id int, name varchar(20) UNIQUE )
非空约束
-- 非空约束 字段名 字段类型 NOT NULL; -- 创建表hero4,包含字段(id,name)将name设为非空约束,name不能为NULL CREATE TABLE hero4( id int, name varchar(20) NOT NULL )
默认值
-- 默认值格式 字段名 字段类型 DEFAULT 默认值; -- 创建表hero5,包含字段(id,name),name默认是英雄 CREATE TABLE hero5( id int, name varchar(20) DEFAULT '英雄' )
查看全部 -
powerdesigner 数据库建模工具
查看全部 -
SQL 结构化查询语言
查看全部 -
// 登录格式1 mysql -u用户名 -p密码
mysql -uroot -proot
// 登录格式2 mysql -hip地址 -u用户名 -p密码
mysql -u127.0.0.1 -uroot -proot
// 登录格式3 mysql --host=ip地址 --user=用户名 --password=密码
mysql --host=127.0.0.1 --user=root --password=root
// exit 退出数据库
查看全部 -
sql语句:DDL语句,DML语句,DQL语句,DCL语句
DDL语句操作数据库以及表的 create, drop, alter
DML语句对表数据进行insert(增加),delete(删除),update(修改)
DQL语句对表数据进行select查询
mysql数据库约束:主键约束,唯一约束,非空约束
查看全部 -
DDL:数据定义语言,用来定义数据库对象;数据库、表、列等,关键字:create、drop、alter等
DML:数据操作语言,用来对数据库中表的数据进行增删改。关键字:insert、delete、update等
DQL:数据库查询语言,用来查询数据库中表的记录,关键字:select,where等
DCL:数据控制语言,用来定义数据库的访问权限和安全级别,以及创建用户。关键字:grant,revoke等
查看全部 -
唯一约束:在这张表中这个字段的值不能重复
字段名 字段类型 UNIQUE
查看全部 -
数据可的约束
主键约束 用来唯一标识一条记录(不能有空值)
创建: 字段名 类型名 PRIMARY key
主键自增
创建: 字段名 类型名 primary key AUTO_INCREMENT
扩展
默认的AUTO_INCREMENT的开始值是1,如果希望修改起始值,可用
ALTER TABLE 表名 AUTO_INCREMENT = 起始值(用delete删除记录后重新输入是在起始值基础上增加的)
查看全部 -
条件查询值模糊查询
SELECT * FROM 表名 WHERE 字段名 LIKE '通配字符串';
%:表示0个或多个任意字符
_:表示一个字符 如搜: %笔记本%
查看全部 -
DQL语句
简单查询
SELECT *FROM student;
查询指定列
SELECT l列名1,列名2,。。。FROM 表名;
别名查询(查询时赋别名,不会改变原表)
SELECT 字段1 AS 别名,字段2 as 别名,... FROM 表名; 别名为字符串时不用加单引号,as 可省略。
清除重复值
SELECT DISITNCT 字段名 FROM 表名;
SELECT DISITNCT 字段名1,字段名2 FROM 表名;
查询结果参与运算
某列数据和固定值运算 SELECT 列名 + 固定值 FROM 表名;
某列数据和其他列数据参与运算 SELECT 列名1 + 列名2 FROM 表名;
注意:运算结果是查询结果,不改变原表
查看全部 -
修改表数据
全部修改:
UPDATE 表名 set 列 = 修改值;
update student set sex = '女';
条件修改
update student set sex = '男' where id = 2;
多字段条件修改
update student set sex = '女' , address = '上海' where id = 3;
删除表
全部删除(表还在,但为空)
DELECT FROM 表名;
条件删除(删除行)
DELETE FROM student where id = 3;
TRUNCATE TABLE 表名; 先摧毁该表,并创建一个结构名、结构一样的新表,但无数据。而delete则是一条一条的删除数据
查看全部 -
蠕虫复制:
创建student1表,结构与student相同
CREATE TABLE student1 LIKE student;
将student表中的数据复制到student1中(复制全部字段)
INSERT INTO student1 SELECT * FROM student;
SELECT * FROM student1;
复制部分字段
如只想复制student表中的name, address字段到student2中:
CREATE TABLE student2 LIKE student1;
INSERT INTO student2(name, address)SELECT nmae, address FROM student1;
SELECT * FROM student2;
查看全部 -
DML语句:数据操作语言
插入insert
(添加所有值)
第一种:INSERT INTO 表名 (字段名1, 字段名2, 字段名3)VALUES (值1, 值2, 值3);
第二种:INSERT INTO 表名 VALUES (值1, 值2, 值3);
(添加部分值)
INSERT INTO 表名 (字段名1, 字段名2, ...)VALUES (值1, 值2,...);
没有添加数据的字段会使用NULL
查看全部 -
DDL操作表:前提先使用某个数据库
创建表: CREATE TABLE 表名 (字段1 类型1, 字段2 类型2, ...);
字段须为英文
CREATE TABLE student (id int, name varchar(10), birthday data, sex char(1));
char(M)\varcgar(M), M表示字符或字符串的规格大小
SHOW TABLES; 查看表
DESC 表名; 查看表结构
SHOW CREATE TABLE 表名; 查看创建表的SQL语句
CREATE TABLE 新表明 LIKE 旧表名; 快速创建相同表结构的表
DROP TABLE 表名; 删除表
SHOW TABLES;
DROP TABLE IF EXISTS 表名; 判断表是否存在并删除表
SHOW TABLES;
修改表结构:(不常用)
ALTER TABLE 表名 ADD 列名 类型; 添加列
具体操作:为学生表添加一个新的字段remark,类型为varchar(20)
ALTER TABLE student ADD remark VARCHAR(20);
DESC student;
ALTER TABLE 表名 MODIFY 列名 新的类型; 修改列类型
ALTER TABLE student MODIFY remark varchar(100);
DESC student;
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型; 修改列名
ALTER TABLE studentCHANGE remark intro varchar(30);
DESC student;
ALTER TABLE 表名 DROP 列名; 删除列
ALTER TABLE student DROP intro;
DESC student;
RENAME TABLE 表名 TO 新表名; 修改表名
RENAME TABLE student TO student2;
SHOW TABLES;
ALTER TABLE 表名 CHARACTER SET 字符集; 修改字符集
具体操作:将student2表的编码修改为gbk
SHOW CREATE TABLE student2;
ALTER TABLE student2 character set gbk;
SHOW CREATE TABLE student2;
查看全部 -
mysql -uroot -proot
创建:CREATE DATABASE db1;
查看:SHOW DATABASES;
CREATE DATABASE IF NAT EXISTS db2;(用于数据库的备份与还原)
CREATE DATABASE IF NAT EXISTS db2;
SHOW DATABASE;
CREATE DATABASE db3 CHARACTER SET gbk;
SHOW DATABASES;
查看数据库创建时候的字符(字符集)语句(定义信息):
SHOW CREATE DATABASE db3;
SHOW CREATE DATABASE db2;
修改数据库字符集格式
ALTER DATABASE db2 DEFAULT CHARACTER SET gbk;
DROP DATABASE db3;(删除数据库)
查看正在使用的数据库:
SELECT DATABASE();
使用/切换数据库:
USE db1;
SELECT DATABASE();
USE db2;
SELECT DATABASE();
查看全部
举报