MySQL相关

数据库(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
3
CREATE TABLE tbl_name (
column_name data_type,
….);

删除表:
//TODO

重命名:

1
2
3
ALTER 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;

授予访问权限:

  1. 登入Mysql: mysql -u root -p

  2. grant all privileges on *.* to root@'%' identified by 'qwer';//给予所有数据库访问权限,若要指定固定IP,替换%即可

    grant all privileges on test.* to ‘root‘@’%’ identified by ‘qwer’; //给予指定数据库访问权限;

参考来源


导入sql文件: source filename