数据库的操作
操作 | 语法 |
---|---|
创建数据库 | create database 数据库名 |
创建中文数据库 | create database 数据库名 default character set utf-8 |
切换使用数据库 | use 数据库名 |
查看数据库 | show databases |
删除数据库 | drop database 数据库名 |
表的操作
1.创建表:
create table 表名(字段1 类型,
字段2 类型,
...)
例:
create table student (sid int,
sname varchar(20),
score float,
semail varchar(50));
2.查看表结构
desc 表名
例:
desc student
3.修改表名
alter table 旧表名 rename to 新表名
例:
alter table student rename to stu;
4.修改字段名
alter table 表名 change 旧字段名 新字段名 新字段名数据类型
例:
alter table stu change score sage int;
5.添加字段
alter table 表名 add 字段名 类型
例:
alter table stu add sex varchar(5)
6.删除字段
alter table 表名 drop 字段名
例:
alter table stu drop sex
mysql常用数据类型
类型 | 描述 |
---|---|
整型 | int |
浮点型 | float double |
字符串 | char varchar |
日期型 | data |
约束:
建表通常伴随着约束,约束是列表里的字段的取值的一系列规则的限制,目的是为了保护数据的完整性
主键约束 | 不能重复也不能为空 | primary key |
非空约束 | 不能为空 | not null |
唯一约束 | 不能重复 | unique |
默认值约束 | 未赋值使用默认值 | default |
外键约束 | 两张表,一张表里为主键,另一张为外键,外键取值参照主键 | foreign key |
带约束创建表
create table student2 (sid int primary,
sname varchar(20) not null,
score float default,
semail varchar(50) unique
);
insert to student2(sid,sname,score,semail)
values(01,'张三',80,'1234@qq.com');
#创建第二张,为id创建外键约束
create table question(sid int
question varchar(50)
foreign key(sid ) reference student2(sid));
因为外键约束,student2表中只有学号01,无其他学号信息,所以为question表插入数据时,只能插入学号为01的