MySQL数据库语法集

目录

一、mysql启动、停止、退出

1.MySQL的启动(注意:mysql不区分字母大小写)

2.MySQL的停止

3.MySQL的退出

DDL语言(数据定义语言:Data Definition Language)

1.创建数据库

2.查看所有数据库

3.删除数据库

4.选择数据库

5.创建表

6.删除表 

7.修改表 

8.修改列名 

9.修改列类型

10.添加新列 

11.删除指定列 

MySQL中的约束  ​编辑

12.添加/删除主键约束

 13.添加/删除外键约束

14.添加/删除唯一性约束

15.添加/删除非空约束 

16.查询表中的约束信息 

 DML语句

1.选择插入 

2.完全插入

3.创建表时指定默认值 

4.修改表添加新列并指定默认值

5.更新数据 

6.删除数据 

7.TRUNCATE清空表 

DQL语句

1.(SELECT)查询数据

 1.查询表中所有数据

2.查询中的算术表达式

 2.mysql中的别名

 1.使用列别名

2.使用表别名

3.比较条件:

1.between 

2.in 

3.使用Like条件 

4.使用null条件

 4.逻辑条件

 5.order by排序


一、mysql启动、停止、退出

1.MySQL的启动(注意:mysql不区分字母大小写)

net start mysql

2.MySQL的停止

net stop mysql

3.MySQL的退出

mysql -h主机名 -p端口号 -u用户名 -p密码
一般连接自己主机数据库时
mysql - u root -p

DDL语言(数据定义语言:Data Definition Language)

1.创建数据库

CREATE DATABASE 数据库名 DEFAULT CHARACTER SET	字符编码;

示例:创建一个Test数据库

create database Test default character set utf8;

2.查看所有数据库

show databases;

3.删除数据库

 drop database test;

4.选择数据库

USE 数据库名;

示例:

use test

5.创建表

CREATE TABLE 表名(列名 类型,列名 类型	);

实例:创建一个employees 表包含雇员ID ,雇员名字,雇员薪水。

 create table employees(employee_id int,employee_name varchar(10),salary float(8,2));

6.删除表 

 DROP TABLE 表名;
drop table employees;

7.修改表 

ALTER TABLE 旧表名 RENAME 新表名;
alter table employees rename emp;

8.修改列名 

ALTER TABLE 表名 CHANGE COLUMN 旧列名 新列名 类型;
alter table emp change column employee_name name varchar(20);

9.修改列类型

ALTER TABLE 表名 MODIFY 列名 新类型;
alter table emp modify name varchar(40);

10.添加新列 

ALTER TABLE 表名 ADD COLUMN 新列名 类型;
alter table emp add column commission_pct float(4,2);

11.删除指定列 

ALTER TABLE 表名 DROP COLUMN 列名;
alter table emp drop column commission_pct;

MySQL中的约束  

12.添加/删除主键约束

ALTER TABLE 表名 ADD PRIMARY KEY(列名)
alter table emp add primary key(employee_id);

主键自动增长

MySQL 中的自动增长类型要求:

一个表中只能有一个列为自动增长。自动增长的列的类型必须是整数类型。自动增长只能添加到具备主键约束与唯一性约束的列上。删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然 后在删除约束。

 alter table 表名 modify 主键 类型
auto_increment;
alter table emp modify employee_id int auto_increment;

示例:去掉自动增长

alter table emp modify employee_id int;

删除主键约束

alter table emp drop primary key;

 13.添加/删除外键约束

添加外键约束:

alter table 表名 add constraint 约束名 foreign key(列名) references 参照的表名/列名

 删除外键约束:

ALTER TABLE 表名 DROP FOREIGN KEY	约束名;

14.添加/删除唯一性约束

添加:

ALTER TABLE 表名 ADD CONSTRAINT 约束名
UNIQUE(列名);

 删除唯一性约束:

ALTER TABLE 表名 DROP KEY	约束名;

15.添加/删除非空约束 

ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL;
ALTER TABLE 表名 MODIFY 列名 类型 NULL;

16.查询表中的约束信息 

SHOW KEYS FROM 表名;

 DML语句

1.选择插入 

INSERT INTO 表名(列名 1 ,列名 2 ,列名
3.....) VALUES(值 1 ,值 2 ,值 3	);

示例:

insert into departments(department_name,location_id) values("market", 1);

2.完全插入

INSERT INTO 表名 VALUES(值 1 ,值 2 ,值3	);

3.创建表时指定默认值 

CREATE TABLE 表名(列名 类型 default 默认值,.	);

示例:

创建emp3 表,该表包含emp_id 主键且自动增长,包含name  包含address 该列默认 值为未知

create table emp3(emp_id int primary key auto_increment,
name varchar(10),address varchar(50) default 'Unknown');

4.修改表添加新列并指定默认值

ALTER TABLE 表名 ADD COLUMN 列名 类型 DEFAULT
默认值;

如果在插入数据时并未指定该列的值,那么MySQL 会将默认值添加到该列中。如果是 完全项插入需要使用default 来占位。

5.更新数据 

UPDATE 表名 SET	列名=值,列名=值 WHERE 条件;

更新语句中一定要给定更新条件,否则表中的所有数据都会被更新

示例:更新 emp3 表中的id 1 的数据,添加address BeiJing

update emp3 set address = "BeiJing" where emp_id = 1;

6.删除数据 

DELETE FROM 表名 WHERE 条件;

在DELETE语句中,如果没有给定删除条件则会删除表中的所有数据。

示例:删除 emp3 表中emp_id 1 的雇员信息。

delete from emp3 where emp_id = 1;

7.TRUNCATE清空表 

TRUNCATE TABLE 表名;

truncate 不写服务器logdelete 写服务器log,也就是truncate 效率比delete高的原因;truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从1 开始记录,而 不是接着原来的值。而delete 删除以后, 自增值仍然会继续累加。

DQL语句

1.(SELECT)查询数据

 SELECT 语句从数据库中返回信息。使用一个SELECT 语句,可以做下面的事:

列选择:能够使用SELECT 语句的列选择功能选择表中的列,这些列是想

要用查询返回的。当查询时,能够返回列中的数据。

行选择:能够使用SELECT 语句的行选择功能选择表中的行,这些行是想

要用查询返回的。能够使用不同的标准限制看见的行。

连接:能够使用SELECT 语句的连接功能来集合数据,这些数据被存储在不

同的表中,在它们之间可以创建连接,查询出我们所关心的数据。

语句

含义

SELECT

是一个或多个字段的列表

*

选择所有的列

DISTINCT

禁止重复

column | expression

选择指定的字段或表达式

alias

给所选择的列不同的标题

FROM table

指定包含列的表

 1.查询表中所有数据

select * from 表名;

2.查询中的算术表达式

select 列名(+、-、*、/)数字  from 表名;

 2.mysql中的别名

 1.使用列别名

SELECT 列名 AS 列别名 FROM 表名 WHERE 条件;

2.使用表别名

SELECT 表别名.列名 FROM 表名 as 表别名 WHERE 条件;

需要注意的是在mysql的条件判断中不等于可表示为:<>和!=两种。

3.比较条件:

1.between 

2.in 

示例:查询employees 表,找出薪水是5000,6000,8000 的雇员ID、名字与薪水。

select employee_id,last_name,salary from employees where salary in(5000,6000,8000);

3.使用Like条件 

示例:查询employees 中雇员名字第二个字母是e 的雇员名字。

select last_name from employees where last_name like '_e%';

4.使用null条件

示例1:找出emloyees 表中那些没有佣金的雇员雇员ID、名字与佣金。

select employee_id,last_name,commission_pct from employees where commission_pct is null;

示例二:找出employees 表中那些有佣金的雇员ID、名字与佣金

select employee_id,last_name,commission_pct from employees where commission_pct is not null;

 4.逻辑条件

示例一:查询employees 表中雇员薪水是8000 的并且名字中含有e 的雇员名字与薪水。

select last_name,salary from employees where salary = 8000 and last_name like '%e%';

示例二:查询employees 表中雇员薪水是8000 的或者名字中含有e 的雇员名字与薪水。

select last_name,salary from employees where salary = 8000 or last_name like '%e%';

示例三: 查询employees 表中雇员名字中不包含u 的雇员的名字。

select last_name from employees where last_name not like '%u%';

 5.order by排序

 多列排序


版权声明:本文为weixin_44918667原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。