文章来自: 培训资料 2018年4月某传某智教育某黑某马java\2.javaweb\2-2MySQL
参考书:《MySQL从入门到精通》 第5章 表的操作
返回知识列表:MySQL知识列表
4 操作表的CRUD操作
4.1 C(Create):创建
1. 语法:
create table 表名( 注意这里是小括号
列名1 数据类型1,
列名2 数据类型2,
....
列名n 数据类型n
);
* 注意:最后一列,不需要加逗号(,)
* 数据库类型:
1. int:整数类型
* age int,
2. double:小数类型
* score double(5,2)
3. date:日期,只包含年月日,yyyy-MM-dd
4. datetime:日期,包含年月日时分秒 yyyy-MM-dd HH:mm:ss
5. timestamp:时间戳类型 包含年月日时分秒 yyyy-MM-dd HH:mm:ss
* 如果将来不给这个字段赋值,或赋值为null,则默认使用当前的系统时间,来自动赋值
6. varchar:字符串
* name varchar(20):姓名最大20个字符
* zhangsan 8个字符 张三 2个字符
* 创建表
create table student(
id int,
name varchar(32),
age int ,
score double(4,1),
birthday date,
insert_time timestamp
);
* 复制表:
* create table 表名 like 被复制的表名;
4.2 R(Retrieve):查询
* 查询某个数据库中所有的表名称
* show tables;
* 查询表结构
* desc 表名; // describe意思. 也可以用 describe 表名; 来查询表的结构。参考书 P69.
4.3 U(Update):修改
1. 修改表名
alter table 表名 rename to 新的表名;
2. 修改表的字符集
alter table 表名 character set 字符集名称;
3. 添加一列
alter table 表名 add 列名 数据类型;
4. 修改列名称 类型
alter table 表名 change 旧列名 新列别 新数据类型; // 要改列名,需要用CHANGE.
alter table 表名 modify 列名 新数据类型;
5. 删除列
alter table 表名 drop 列名;
4.4 D(Delete):删除
* drop table 表名;
* drop table if exists 表名 ;
4.5 表的CRUD实际操作
- 创建表
create database 数据库的名字
create table 表名(
列名 列的类型(长度) 约束,
列名2 列的类型 约束
)
列的类型
java sql
int int
char/string char/varchar
char:固定长度
varchar:可变长度
char(3)
varchar(3)
长度代表的是字符的个数
double double
boolean boolean
date date: YYYY-MM-DD
time: hh:mm:ss
datetime: 默认值是null
timestamp: 默认值是当前时间
text: 主要用来存放文本
blob: 存放的二进制
列的约束:
主键约束:primary key
唯一约束:unique
非空约束:not null
创建表:
1,分析实体:学生
2,学生ID
3,姓名
4,性别
5,年龄
create table student(
sid int primary key,
sname varchar(31),
sex int,
age int
);
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
5 rows in set (0.00 sec)
mysql> use test;
Database changed
mysql> create table student(
-> sid int primary key,
-> sname varchar(31),
-> sex int,
-> age int
-> );
Query OK, 0 rows affected (0.06 sec)
mysql>
- 查看表
-- 查看所有的表
show tabels;
-- 查看表的创建过程
show create table student;
-- 查看表结构
desc student;
- 修改表
添加列(add)
alter table 表名 add 列名 列的类型 列的约束
alter table student add chengji int not null;
修改列(modify)
alter table student modify sex varchar(2);
修改列名(change)
alter table student change sex gender varchar(2);
删除列(drop)
alter table student drop chengji;
修改表名(rename)
rename table student to heima;
修改表的字符集
alter table heima character set gbk;
删除表
drop table test;