**DDL (Data Definition Language) :数据定义语言,定义库,表结构等,包括create,drop,alter等 **
DML (Data Manipulation Language) :数据操作语言,增删改查数据,包括insert,delete,update,select等
DQL(Data query Language):数据查询语言 select
DCL(Data Control Language) :数据控制语言,权限,事务等管理。
mysql 关键字 数据库名 表名不区分大小写
1、 DDL(v1.0)
1、查看所有数据库
show databases;
2、指定使用某个数据库
use 数据库名;
3、创建数据库
create database 数据库名;
create database 数据库名 charset 'utf8';
create database 数据库名 charset 'gbk';
4、删除数据库
drop database 数据库名;
5、查看某个库下的所有表格
show tables ;
show tables from 数据库名;
6、创建表格
create table 【数据库名.】表名(
字段名1 数据类型,
字段名2 数据类型,
....
);
通常要配合使用 use database名
7、删除表格
drop table 【数据库名.]表名称;
8、查看某个表结构
describe 【数据库名.]表名称;
desc 【数据库名.]表名称;
9、增加一列
alter table 【数据库名.]表名称 add 【column】 字段名 数据类型;
alter table 【数据库名.]表名称 add 【column】 字段名 数据类型 first;
alter table 【数据库名.]表名称 add 【column】 字段名 数据类型 after 另一个字段;
10、删除一列
alter table 【数据库名.]表名称 drop 【column】 字段名;
11、修改列数据类型
alter table 【数据库名.]表名称 modify 【column】 字段名 新数据类型;
12、修改列名
alter table 【数据库名.]表名称 change【column】 旧字段名 新字段名 新数据类型;
13、修改列的位置
alter table 【数据库名.]表名称 modify 【column】字段名 数据类型 first;
alter table 【数据库名.]表名称 modify 【column】字段名 数据类型 after 另一个字段;
14、修改表名称
alter table 旧表名 rename 新表名;
rename table 旧表名 to 新表名;
2、 DML(v1.0)
1、添加数据
insert into 【数据库名.]表名称 values(值列表);
insert into 【数据库名.]表名称(部分字段列表) values(值列表);
insert into 【数据库名.]表名称 values(值列表1),(值列表2)。。。;
insert into 【数据库名.]表名称(部分字段列表) values(值列表1),(值列表2)。。。;
insert into lianxi.teacher(tid,tname) values(1,"李华"),(2,“袁崇焕”);
insert into [数据库名.]表名 set 字段名=值, 字段名=值......;
总结: insert into [数据库名.]表名 set 字段名=值, 字段名=值; insert into 【数据库名.]表名称 values(值列表1),(值列表2)。。。; 2、修改数据
update 【数据库名.]表名称 set 字段名1 = 值1, 字段名2 = 值2 。。。 【where 条件】;
如果没有加where条件,表示修改所有行的这个字段的值。
3、删除数据
delete from 【数据库名.]表名称 【where 条件】;
如果没有where条件,表示删除整张表的数据;
truncate 【数据库名.]表名称;
用delete删除整张表和用truncate删除整张表的数据的区别?
(1)truncate速度快
(2)truncate无法回滚
truncate因为底层是把表drop掉,然后新建了一张空表。
delete因为底层是一行一行删数据。
4、简单查询数据
select * from 【数据库名.]表名称;
select 字段列表 from 【数据库名.]表名称;
select id,sname from teacher;
select * from 【数据库名.]表名称 【where 条件】;
select 字段列表 from 【数据库名.]表名称 【where 条件】;
select distinct id from teacher; 挑选ID并去重
使用distinct可以对查询结果进行去重
查询给字段起别名 字段名【as】别名 如果别名包含空格或是关键字使用引号包裹。
select id,sname as 名字 from 表名;
|