目录
数据库操作
查询
查询所有数据库
SHOW DATABASES
查询当前数据库
SELECT DATABASE();
创建
CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集][COLLATE 排序规则]
删除
DROP DATABASE[IF EXISTS]数据库名
使用
USE 数据库名
注意
数据库不区分大小写,创建数据库时要指定它的名字 。
if not exists指令,若不存在则创建, 若存在则不创建。
创建字符集时不推荐utf-8因为有部分特殊字符为4个字节而utf-8只支持3个字节,所以使用utf8mb4 ,它支持4个字节。
use可以表示切换到该数据库。
表操作
查询
查询当前数据库所有表:SHOW TABLES;
查询表结构:DESC表名
查询指定表的建表语句:SHOW CREATE TABLE表名
创建
CREATE TABLE表名(
字段1 字段1类型[COMMENT 字段1注释],
字段2 字段2类型[COMMENT 字段2注释],
字段3 字段3类型[COMMENT 字段3注释],
字段n字段n类型[COMMENT 字段n注释],
)[COMMENT 表注释];
mysql中字符串是varchar
最后一个字串不用加逗号
数据类型
MySQL中的数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。
age TINYINT UNSIGNED
使用tinyint类型表示age,由于年龄没有负数,所以使用unsigned类型。
score double(4,1)
分数score长度为4,保留一位小数。
char(10)
对于这个char,定长字符串,即使只有第一位存放数据,他也会占用10个空间,另外的9个位置会使用空格进行补位。
varchar(10)
对于varchar只要在范围以内,存多少就占用多大的空间。
birthday date
使用date类型记录生日的年月日。
设计一张员工信息表,要求如下:
1.编号(纯数字)
2.员工工号(字符串类型,长度不超过10位)
3.员工姓名(字符串类型,长度不超过10位)
4.性别(男/女,存储一个汉字)
5.年龄(正常人年龄,不可能存储负数)
6.身份证号(二代身份证号均为18位)
7.入职时间(取值年月日即可)
表修改
添加字段
ALTER TABLE 表名 ADD字段名类型(长度)[COMMENT注释] [约束]
为emp表增加一个新的字段”昵称”为nickname类型为varchar(20)
alter table emp add nickname varchar(20)
修改
修改数据类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型(长度)
修改表名
ALTER TABLE 表名 RENAME TO 新表名;
删除
修改字段名和字段类型
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型(长度)[COMMENT注释][约束]:
alter table emp change nickname username varchar (30) comment 用户名
删除字段
ALTER TABLE 表名 DROP 字段名
删除表
DROP TABLE[IF EXISTS]表名
删除指定表,并重新创建该表
TRUNCATE TABLE 表名
注意:在删除表时,表中的全部数据也会被删除。