mysql软件-> 数据库-> 表

一. DDL(数据库定义语言)

1. 数据库操作

1. 新增数据库

语法: CREATE DATABASE 【 IF NOT EXISTS 】库名 【CHARACTER SET 编码集】;
例如:新增一个名字为shop的数据库,并且指定默认编码集为gbk

  1. CREATE DATABASE IF NOT EXISTS shop CHARACTER SET gbk;

2. 修改数据库

语法:ALTER DATABASE 库名 options
例如:修改shop的编码集格式为utf8

ALTER DATABASE shop1 CHARACTER SET utf8;

3. 选择数据库

语法: use 库名
例如:切换当前使用的数据库为mysql数据库

use mysql;

4. 删除数据库

语法:DROP DATABASE 【 IF EXISTS 】 库名
例如:删除上述步骤的生成的数据库shop

DROP DATABASE IF EXISTS  shop;

2. 表操作

1. 创建表

基本语法:

CREATE TABLE table_name (
    column_name1 column_type1 【约束1】,
  column_name2 column_type2 【约束2】;
  column_name3 column_type3 【约束3】;
  ...

);

例如:创建一个员工表,包括4列,分别为 员工id, 姓名, 年龄, 工资

CREATE TABLE `employee` (
  `id` int(11) NOT NULL PRIMARY KEY COMMENT '员工id',
  `name` varchar(10) NOT NULL COMMENT '姓名',
  `age` tinyint(4) NOT NULL COMMENT '年龄',
  `salary` float NOT NULL COMMENT '工资',
  `startdate` varchar(10) NOT NULL COMMENT '入职日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2. 表的修改

a. 修改列名

#将入职日期列的名字修改为hiredate
ALTER TABLE employee CHANGE COLUMN startdate hiredate VARCHAR(15);

b. 修改列的类型或者约束

#将入职日期列的类型修改为datetime类型
ALTER TABLE employee MODIFY COLUMN hiredate DATETIME;

c. 新增列

#新增一列部门id列
ALTER TABLE employee ADD COLUMN dept TINYINT NOT NULL COMMENT '部门id';

d. 删除列

#新增名称为test的列
ALTER TABLE employee ADD COLUMN test TINYINT NOT NULL;
#删除刚才新增的test列
ALTER TABLE employee DROP COLUMN test

e. 修改表名

ALTER TABLE employee RENAME TO employee1

3. 表的删除

DROP TABLE 【IF EXISTS】 employee;

4. 表的备份

CREATE TABLE employee_back SELECT * FROM employee;

3. mysql常见的数据类型

1. 数值类型

image.png

2. 时间类型

image.png

3. 字符型

image.png

二、DML

操作包括数据的插入修改和删除

1. 插入 insert

#方式一
INSERT INTO table_name ( field1, field2,...fieldN ) VALUES( value1, value2,...valueN );
#方式二
INSERT INTO table_name SET field1=value1, field2=value2,... fieldN=valueN;

2. 修改 update

UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]

3. 删除 delete

DELETE FROM table_name [WHERE Clause];

#删除整张表的数据
truncate table table_name;