数据库(CRUD)
创建数据库: CREATE DATABASE IF NOT EXISTS db_name;
删除数据库: DROP DATABASE IF EXISTS db_name;
查看数据库: SHOW DATABASES;
查看库详情: SHOW CREATE DATABASE db_name;
修改数据库编码: ALTER DATABASE db_name CHARACTER SET = gbk;
数据类型
整形:TINYINT(常用) – SMALLINT – MEDIUMINT – INT(常用) – BIGINT
浮点型: FLOAT{M,D} – DOUBLE{M,D} M是数字总位数 D是小数点后面的位数
日期: YEAR – TIME – DATE(常用) –DATETIME(常用)– TIMESTAMP(常用)
字符:CHAR(M) – VARCHAR(M) – TINYTEXT – TEXT – MEDIUMTEXT – LONGTEXT – ENUM(‘value1’,’value2’,…)
数据表创建/删除/重命名
创建表:1
2
3CREATE TABLE tbl_name (
column_name data_type,
….);
删除表:
//TODO
重命名:1
2
3ALTER TABLE tbl_name RENAME tbl_name;
RENAME TABLE old_tbl_name to new_tbl_name;
查看当前数据库所有表名称:show tables;
查看表结构: desc tbl_name;
常用关键字
- NOT NULL
- AUTO_INCREMENT
- PRIMARY KEY
- UNIQUE KEY
- DEFAULT
- FOREIGN KEY
//TODO
外键约束
约束类型: NOT NULL – DEFAULT — PRIMARY KEY – UNIQUE KEY — FOREIGN KEY
外键约束的要求:
1. 父表个子表必须使用相同的存储引擎
**2. 数据表的存储只能为InnoDB**
**3. 外键列和 参照列必须具有相似的数据类型**
**4. 外键列和参照列必须创建索引**
主键约束:
- 添加: ALTER TABLE tbl_name ADD 【CONSTRAINT 名字】PRIMARY KEY (index_col_name);
> ALTER TABLE users2 ADD CONSTRAINT PK_users2_id PRIMARY KEY (id);
- 删除: ALTER TABLE tbl_name DROP PRIMARY KEY;
> ALTER TABLE users2 DROP PRIMARY KEY;
外键约束:
- 添加:ALTER TABLE tbl_name ADD FOREIGN KEY (col_name) REFERENCES tbl_name (col_name);
> ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCES provinces (id);
- 删除: ALTER TABLE tbl_name DROP FOREIGN KEY "外键名称";
唯一约束:
- 添加: ALTER TABLE tbl_name ADD [constraint 名字] UNIQUE KEY (col_name);
> ALTER TABLE users2 ADD UNIQUE KEY (username);
- 删除:ALTER TABLE tbl_name DROP INDEX col_name;
> ALTER TABLE users2 DROP INDEX (username);
默认约束:
- 添加:ALTER TABLE tbl_name ALTER [COLUMN] col_name SET DEFAULT ""
> ALTER TABLE users2 ALTER age SET DEFAULT 15;
- 删除:ALTER TABLE tbl_name ALTER [COLUMN] col_name DROP DEFAULT;
> ALTER TABLE users2 ALTER age DROP DEFAULT;
授予访问权限:
登入Mysql:
mysql -u root -p
grant all privileges on *.* to root@'%' identified by 'qwer';
//给予所有数据库访问权限,若要指定固定IP,替换%即可grant all privileges on test.* to ‘root‘@’%’ identified by ‘qwer’; //给予指定数据库访问权限;
导入sql文件: source filename