
| 铭记于心 | ||
|---|---|---|
| 🎉✨🎉我唯一知道的,便是我一无所知🎉✨🎉 |
create database 数据库名 [character set 字符集][collate 校对规则] 注: []意思是可选的意思
字符集(charset):是一套符号和编码。
创建一个day01的数据库(默认字符集)
create database day01;
创建一个day01_2的数据库,指定字符集为gbk(了解)
create database day01_2 character set gbk;
也可以通过可视化创建(默认即可)
show databases;
show create database 数据库名;
show create database day01;
drop database 数据库名;
drop database day01_2;
alter database 数据库名 character set 字符集;
alter database day01 character set gbk;
注意:
use 数据库名; //注意: 在创建表之前一定要指定数据库. use 数据库名
use day01;
select database();
create table 表名(
列名 类型 [约束],
列名 类型 [约束]
...
);
int(M),必须和unsigned zerofill一起使用才有意义
double(M,D):表示最长为M位,其中小数点后D位
例如:double(5,2)表示的数据范围[-999.99,999.99],如果超过这个范围会报错。
decimal(M,D):表示最长为M位,其中小数点后D位
字节范围是:1-8,值范围是:bit(1)~bit(64),默认bit(1)
用来存储二进制数。对于位字段,直接使用select命令将不会看到结果。可以使用bit()或hex()函数进行读取。插入bit类型字段时,使用bit()函数转为二进制值再插入,因为二进制码是“01”。
日期时间类型:year, date, datetime, timestamp
注意一下每一种日期时间的表示范围
timestamp和datetime的区别:
MySQL中提供了多种对字符数据的存储类型,不同的版本可能有所差异。常见的有:
char,varchar,xxtext,binary,varbinary,xxblob,enum,set等等
对于大点的文件存储,一般都是存储路径到数据库,然后文件放在特定的文件服务器中
char如果没有指定宽度,默认为1个字符
varchar(M),必须指定宽度
+----------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+--------------+------+-----+---------+----------------+
| eid | int(11) | NO | PRI | NULL | auto_increment |
| ename | varchar(20) | NO | | NULL | |
| tel | char(11) | NO | | NULL | |
| gender | char(1) | YES | | 男 | |
| salary | double | YES | | NULL | |
| commission_pct | double(3,2) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| hiredate | date | YES | | NULL | |
| job_id | int(11) | YES | | NULL | |
| email | varchar(32) | YES | | NULL | |
| mid | int(11) | YES | | NULL | |
| address | varchar(150) | YES | | NULL | |
| native_place | varchar(10) | YES | | NULL | |
| did | int(11) | YES | | NULL | |
+----------------+--------------+------+-----+---------+----------------+
| 约束 | 约束关键字 | |
|---|---|---|
| 主键 | primary key | 非空且唯一,并且一张表只能有一个主键 |
| 唯一 | unique | 唯一,当前列不能出现相同的数据 |
| 非空 | not null | 非空,当前列不能为null |
| 默认 | default | 如果当前列没有数据,则指定默认数据 |
约束种类:
插入null值就会报错
注意:
id列:
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT, -- 主键自增长
NAME VARCHAR(30) UNIQUE, -- 唯一约束
gender CHAR(1) NOT NULL DEFAULT '男'
);
show tables;
desc student;
alter table [数据库名.]表名称 add [column] 字段名 数据类型;
alter table [数据库名.]表名称 add [column] 字段名 数据类型 first;
alter table [数据库名.]表名称 add [column] 字段名 数据类型 after 另一个字段;
alter table 表名 modify 字段 类型 约束 ;alter table 表名 change 旧列 新列 类型 约束;alter table 表名 drop 列名;rename table 旧表名 to 新表名;修改时不要使用’ '(单引号在起别名中使用),但是可以用 来区分关键字ALTER TABLE student ADD grade VARCHAR(20) NOT NULL;
alter table student modify gender varchar(20);
ALTER TABLE student CHANGE grade class VARCHAR(20) NOT NULL;
ALTER TABLE student DROP class;
RENAME TABLE student TO teacher;
drop table teacher;
🌹写在最后💖:
路漫漫其修远兮,吾将上下而求索!伙伴们,再见!🌹🌹🌹