SQL的DDL和DML

DDL:数据定义语言,定义库、表结构用的
DML:数据操作语言,增、删、改、查
DCL:数据控制语言,权限、事务等控制语句

(一)DDL
1、操作数据库的语句
(1)查看当前DBMS中的所有数据库
show databases;

(2)创建一个数据库
create database 数据库名;

(3)删除一个数据库
drop database 数据库名;

(4)使用,指定使用哪个数据库
use 数据库名;

有了这句后,下面的sql都是默认针对这个数据库的操作。

2、操作表格的语句
(1)查看某个库的所有表格
show tables; #必须前面有use 数据库名;的语句 否则报no database select的错误
show tables from 数据库名;

(2)创建表格
基本版:
create table 【数据库名.】表名称(
字段名1 数据类型,
字段名2 数据类型,
字段名2 数据类型,
....
);

create table 【数据库名.】表名称(字段名1 数据类型,字段名2 数据类型,字段名2 数据类型,....);
注意:最后一个字段名的数据类型后面就不用加,

例如:
create table employee(
id int,
name varchar(20),
age int,
salary double,
gender char,
birthday date
);

(3)查看表结构
desc 表名称;

(4)修改表结构:增加一列
alter table 表名称 add 字段名 数据类型 【after 字段名/ first】;

例如:alter table employee add tel char(11);
alter table employee add tel char(11) after name;

(5)修改表结构:删除一列
alter table 表名称 drop 字段名;

例如:alter table employee drop tel;

(6)修改表结构:修改列的类型,位置等
alter table 表名称 modify 字段名 数据类型 【after 字段名/ first】;

例如:alter table employee modify gender char(2) after age;

(7)修改表结构:修改列的名称
alter table 表名称 change 旧字段名 新的字段名 数据类型 【after 字段名/ first】;

例如:alter table employee change gender sex char(2) after age;

(8)修改表名称
alter table 表名称 rename to 新名称;
例如:alter table employee rename to emp;

(9)删除整张表,包括数据和表结构
drop table 表名称;

(二)DML
1、添加数据
(1)为表的所有列赋值
insert into 表名称 values(值列表);

例如:employee
+----------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| age | int(11) | YES | | NULL | |
| salary | double | YES | | NULL | |
| gender | char(1) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+

insert into employee values(1,'张三',23,10000,'男','1990-01-01');

(2)为表的部分列赋值
insert into 表名称(字段列表) values(值列表);

insert into employee(id,name) values(2,'李四');

(3)可以一次性增加多行
insert into 表名称 values(值列表1),(值列表2),....;
insert into 表名称(字段列表) values(值列表1),(值列表2),....;

例如:insert into employee(id,name) values(3,'王五'),(4,'赵六'),(5,'钱七');

2、修改数据
update 表名称 set 字段名1 = 字段值1, 字段名2 = 字段值2 【where 条件】;

例如:update employee set gender = '男';
update employee set age = 24 where name = '李四';
update employee set salary = salary * 2; #给所有人涨薪

3、删除数据
delete from 表名称 【where 条件】;

例如:delete from employee;
delete from employee where name = '赵六';

4、查看数据
(1)查看所有的数据
select * from 表名称;

例如:
select * from employee;

(2)查看部分列
select 字段列表 from 表名称;

例如:
select id,name from employee;

(3)查看部分行
select * from 表名称 【where 条件】;
select 字段列表 from 表名称 【where 条件】;

例如:select * from employee where name ='张三';
#查看张三的薪资
select salary from employee where name ='张三';

5、可以在查询结果时,给字段取别名。
select 字段名1 as "别名1",字段名2 as "别名2" ... from 表名称 【where 条件】;

例如:select id as "编号", name as "姓名", salary as "薪资" from employee;
select id "编 号", name 姓名, salary 薪资 from employee;

原文地址:https://www.cnblogs.com/hongfeng2019/p/11769146.html