MySql教程

MySQL常用语句

本文主要是介绍MySQL常用语句,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL常用语句
一、MySQL启动与停止
1.启动MySQL服务
NET START mysql
2.停止MySQL服务
NET STOP mysql

二、登录MySQL
1.命令行MySQL的路径
cd C:\MySQL\MySQL Server 5.7\bin
2.登录MySQL数据库
mysql -h localhost -u root -p

三、数据库操作

1>.创建数据库
1.创建数据库test_db
CREATE DATABASE test_db
2.创建数据库如果不存在
CREATE DATABASE IF NOT EXISTS test_db
3.创建数据库时指定字符集和校对规则
CREATEDATABASE test_db
DEFAULT CHARACTER SET utf8
DEFAULT COLLATE utf8_chinese_ci

2>.查看数据库
1.查看所有数据库
SHOW DATABASES
2.查看名为test_db的数据库
SHOW DATABASES LIKE 'test_db'
3.查看名字中包含test的数据库
SHOW DATABASES LIKE '%test%'
4.查看名字以db开头的数据库
SHOW DATABASES LIKE 'db%'
5.查看名字以test结尾的数据库
SHOW DATABASES LIKE '%test'

3>.修改数据库
1.修改数据库
ALTER DATABASE test_db
DEFAULT CHARACTER SET gb2312
DEFAULT COLLATE gb2312_chinese_ci

4>.删除数据库
1.删除数据库
DROP DATABASE test_db
2.如果有test_db数据库,则删除
DROP DATABASE IF EXISTS test_db

5>.选择数据库
1.指定数据库
USE test_db

6>.MySQL注释
1.单行注释
#注释内容

-- 注释内容(注意内容前的空格)
2.多行注释
/*
第一行
第二行
*/

7>.大小写规范
mysql语句的关键字和函数名没有大小写之分,select和SELECT和SeLect都是一样的,
但是表的别名、字段名都是区分大小写的,操作数据库过程中要注意字段名、表名等是否一致,

8>.备份数据库
mysqldump -u root -p 123456 db > db.sql
mysqldump -u root -p 123456 -A > all.sql

9>.恢复数据
mysql -u root -p 123456 db < db.sql


四、用户管理:
1.新建用户:
CREATE user name
2.更改密码:
set password for name=111111

五、数据表基本操作
1>.创建数据表
/*
字段名:id 数据类型:int(11) 备注:员工编号
字段名:name 数据类型:varchar(25) 备注:员工名称
字段名:deptid 数据类型:int(11) 备注:部门编号
字段名:salary 数据类型:float 备注:工资
*/
CREATE TABLE table1
(
id int(11), -- 创建字段id,int类型,限制11位数
name VARCHAR(25),
deptid int(11),
salary FLOAT
)

2>.增加字段
1.增加列deptname,类型VARCHAR(25)
ALTER TABLE tb1 ADD deptname VARCHAR(25)
2.在student表的第一列增加stuId字段
ALTER TABLE student ADD stuId INT(4) FIRST
3.在name字段后添加stuno字段
ALTER TABLE student ADD stuno INT(11) AFTER name

3>.修改数据表
1.修改表名
ALTER TABLE table1 RENAME TO tb1
2.修改表中字段名deptid改为deid
ALTER TABLE tb1 CHANGE deptid deid int(8)
3.修改数据类型
ALTER TABLE tb1 CHANGE deid int(8)
4.修改字段数据类型
ALTER TABLE tb1 MODIFY deid int(11)
5.删除字段
ALTER TABLE tb1 DROP deptname
6.修改表字符集
ALTER TABLE tb1 CHARACTER SET gb2312 DEFAULT COLLATE gb2312_chinese_ci

4>.删除数据表
1.删除数据表
DROP TABLE tb1
2.删除关联的表
①.创建关联表
CREATE TABLE tb_1
(
id INT(11) PRIMARY KEY,
name VARCHAR(22),
location VARCHAR(50)
)
CREATE TABLE tb_2
(
ID INT(11) PRIMARY KEY,
NAME vARCHAR(25),
deptid INT(11),
SALARY FLOAT,
CONSTRAINT fk_emp1_emp2 FOREIGN KEY (deptid) REFERENCES tb_1(id)
)
②.解除tb_2的外键约束
ALTER TABLE tb_2 DROP FOREIGN KEY fk_emp1_emp2
③.解除关联关系后,就可以使用drop table 语句删除tb_1
DROP TABLE tb_1

5>.查看表结构
1.以表格形式展示表的字段信息
DESC tb1
2.以sql语句形式展示表结构
SHOW CREATE TABLE tb1

六、常用增删查改
1>.增加表中数据
1.增加数据包含表中全部字段内容
insert into student values (1,'hjk','男',23,11111)
2.增加数据包含表中部分字段数据
INSERT INTO student (name,sex,age,phone) values ('jh','男',23,10000)

2>.查找表中数据
1.无条件的查找表中数据
select * from student
2.查找表中部分数据
select name,phone from student
3.查询表中第一到五条数据
select * from student limit 1,5
4.单条件的查找表中数据
select * from student where id=1
5.多条件查询表中数据
select * from student where name='' and sex='男'
6.模糊查询名字中含jk的学生信息
select * from student where name like '%jk%'
7.模糊查询学生姓名为h开头的两字名 -- 下划线_表示任意一个单字符,h后面只有一个字
select * from student where name like 'h_'
8.给表起别名,as可省略
select a.stuname as '学生姓名',a.phone '学生电话' from student as a where a.stuId=1
9.查找名字在这列表中的学生信息
select * from student where a.stuname in ('hj','hjk','jk')
10.查找年龄在20-25之间的学生信息
select * from student where age between 20 and 25
11.查找到的信息根据id升序,age降序
select * from student order by id asc,money desc
12.去重查找
select distinct a.stuname from student a
13.统计符合要求的人数
select count(*) from student where sex='男'
14.查找最大值
select max(age) from student
15.查找最小值
select min(age) from student
16.查找平均值
select avg(age) from student
17.查询结果分组
select * from student group by sex
18.多条件查找
select * from student where age=23 group by sex having stuname like '%jk%' -- group by后还有条件必须要用having子句
19.多个字段进行分组
select * from student group by sex,age
20.合并两条select语句的结果,字段数和数据类型都要一致
select stuname,age from student union select select teaname,age from teacher -- 还有union all,它和union的区别在于它不会去重
21.两表关联无条件查询
select * from student s, course c where s.coid=c.id
22.两表关联含条件查询
select * from student s, course c where
s.coid = c.id
and s.age = 23
23.左连接查询
select * from student s left join course c on s.coid=c.id
24.右连接查询
select * from student s right join course c on s.coid=c.id
25.内连接查询
select * from student s inner join course c on s.coid=c.id
26.子查询,把子查询的结果当做另一条sql的条件
select * from course c where c.id = (select coid from student where stuname='hj')
27.子查询,把子查询的结果当做一个表
select c.name,s.stuname,s.id from course c,(select id,stuname from student where phone=10000) where c.id=s.coid

 

这篇关于MySQL常用语句的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!