--数据库操作(DDL:Data Definition Languages)
--创建数据库(在磁盘上创建一个对应的文件夹)
CREATE DATABASE [IF NOT EXISTS ] aggressive2019 [character SET utf8]
--查看数据库
SHOW databases; --查看所有数据库
show CREATE DATABASE aggressive2019 --查看数据库的创建方式
ALTER DATABASE aggressive2019 CHARACTER SET utf8 --修改数据库
use aggressive2019;--使用数据库
SELECT database();--查看当前使用的数据库
--数据表操作
CREATE TABLE employee(
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(20),gender bit DEFAULT 1,
birthday DATE,
entry_data date,
job VARCHAR(20),
salary DOUBLE(4,2) UNSIGNED,
resume text);
--查看表结构
DESC employee;
--查看表结构
SHOW columns from employee;
--查看当前数据库表建表语句
SHOW CREATE TABLE employee;
--增加列(字段)ALTER
ALTER TABLE employee ADD addr VARCHAR(20) NOT NULL UNIQUE AFTER name;
--添加多个字段
ALTER TABLE employee ADD age int FIRST , ADD workage VARCHAR(20) AFTER addr;
--修改一列类型 modify
ALTER TABLE employee MODIFY age TINYINT DEFAULT 20;
--修改列名 change
ALTER TABLE employee CHANGE age AGE INT DEFAULT 28 FIRST;
--删除一列
ALTER TABLE employee DROP addr;
--修改表名
RENAME TABLE employee to employee1;
--修改表所用的字符集
ALTER TABLE employee CHARACTER SET utf8;
--删除表
drop table employee;
--添加主键,删除主键
ALTER TABLE employee add PRIMARY KEY(id);
ALTER TABLE employee MODIFY id INT AUTO_INCREMENT;
--删除主键
alter table employee modify id int;
ALTER TABLE employee drop PRIMARY KEY ;
--添加唯一索引
ALTER TABLE employee ADD UNIQUE INDEX index_age(age);
--添加联合索引
ALTER TABLE employee ADD UNIQUE INDEX name_age(name,age);
--删除唯一索引
ALTER TABLE employee DROP INDEX name_age;
--创建文章表
CREATE TABLE article(
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(20),
publish_date INT,
click_num INT,
is_top TINYINT(1),
content TEXT);
--完整性约束条件之主键约束(一张表只能有一个主键,非空且唯一,主键类型不一定是非整型)
--单字段主键
CREATE TABLE users(id INT PRIMARY KEY ,
name VARCHAR(20),
city VARCHAR(20));
--多字段联合主键
CREATE TABLE users2(
id INT,
name VARCHAR(20),
city VARCHAR(20),
PRIMARY KEY (name,id));