MySQL(一)基础

131 阅读2分钟

MySQL(一)基础

1、数据库定义语言(DDL

1.1、库

①创建数据库
create database database_name

创建时,设置编码格式,utf8编码 可以使用中文

create database databse_name character set  utf8 collate utf8_general_ci;
②删除数据库
drop database database_name

1.2、表

①创建表
create table 表名
(
列名 数据类型[约束条件],
列名 数据类型[约束条件],
列名 数据类型[约束条件]
[,表级约束调条件]
)

举例:

create table emp(
	id int primary key COMMENT '编号' ,
	workno VARCHAR(10) comment '工号',
	name VARCHAR(10) comment '姓名',
	gender CHAR(1) comment '性别',
	age tinyint unsigned comment '年龄',
	idcard char(18) comment '身份证号',
	workaddress varchar(20) comment '工作地址',
	enteydata date comment '入职时间'
)character set utf8 collate utf8_general_ci comment '员工表';
②列级约束条件(六种)
  1. 主键 Primary key
  2. 外键 foreign key
  3. 唯一 unique
  4. 检查 check(MySQL不支持)
  5. 默认 default
  6. 非空/空值 not null/ null
③表级约束条件(四种)
  1. 主键
  2. 外键
  3. 唯一
  4. 检查
④数据类型
分类类型大小byte范围
数值tinyint1
samllint2
mediumint3
int/interger4
bigint8
float4
double
decimal依赖于M(精度)和D(标度)的值
字符串char0-255定长字符串
varchar0-65535变长字符串
tinyblob0-255不超过255的二进制数据
tinytext0-255短文本字符串
blob0-65535二进制形式的长文本数据
text0-65535长文本数据
mediumblob很大
nediumtext很大
longblob超大
longtext超大
分类类型大小范围格式描述
日期类型date31000-01-01至9999-12-31YYYY-MM-DD日期值
time3HH:MM:SS时间值、持续时间
year1YYYY年份
datetime81000至9999YYYY-MM-DD HH:MM:SS日期和时间
timestamp41970至2038YYYY-MM-DD HH:MM:SS日期和时间、时间戳
⑤查询

查询数据库当前所有的表

show tables;

查询表结构

desc tablename;

查询指定表的建表语句

show create table 表命
⑥修改表

添加字段 add

alter table emp add nickname varchar(20) comment '昵称';

修改字段 modify

ALTER TABLE 表名 modify 字段名 数据类型(长度);

修改字段名和字段类型 change

ALTER TABLE 表名 change 旧字段名 新字段名 数据类型(长度) [comment] [约束];
alter table emp change nickname username varchar(30) comment '用户名';

删除字段名drop

ALTER TABLE 表名[DROP COLUMN 列名[restrict cascade]]
alter table emp drop username;

修改表名 rename

alter table emp rename to employee;
⑦删除表

直接删除

DROP TABLE if exists 表名; 

删除表后,重新创建该表,只留下空表无数据

truncate table 表名;

2、数据库操作语言(DML

3、数据库查询语言(DQL

4、数据库控制语言(DCL

5、函数

6、约束

7、多表

8、事务