关于MySQL的基础知识详解


本文摘自PHP中文网,作者墨辰?R,侵删。

本篇文章主要介绍MySQL的基本知识,感兴趣的朋友参考下,希望对大家有所帮助。

一.启动MySql方式

1.在”计算机管理中”选择“服务“,选择开启mysql

2.使用命令行#net start mysql

二.关闭MySql方式

1.在”计算机管理中”选择“服务“,选择关闭mysql

2.使用命令行#net stop mysql

三.登录mysql服务器

1.登录MySql,使用命令行#mysql -uroot -p123

2.退出登录使用命令行#exit|quit

四.DDL语句(data definition language)

数据定义语言:常用来定义数据库对象:库,表,字段。创建,修改,删除库,表结构

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

1.查询数据库

#show databases;

2.切换数据库

#use 数据库名称;

#use test;

3.创建新的数据库

#create database if not exits 数据库名称;

#create database if not exits mydb4;

4.删除数据库

#drop database if exits 数据库名称;

#drop database if exits mydb4;

5,修改数据库编码格式

#alter database 数据库名称 character set 编码格式;

#alter database mydb3 character set utf8;

=======================================

1.创建表

#create table 表名称(列名 列类型,列名 列类型,列名 列类型,列名 列类型);

#create table tb_stu(pid char(20),name varchar(50),age int,gender varchar(1));

2.查看表

#show tables;

3.删除表

#drop table 删除表名称;

#drop table tb_stu1;

4.查看表结构

#desc tb_stu;

=======================================

1.修改之添加列

#alter table 表名称 add(列名称 列类型,列名称 列类型);

#alter table tb_stu add(phone varchar(13),class varchar(5));

2.修改之修改列类型

#alter table 表名称 modify 列名称 新列类型;

#alter table tb_stu modify phone varchar(11)

3.修改之修改列名称

#alter table 表名称 change phone 新列名称 新列类型;

#alter table tb_stu change phone phoneNum varchar(11);

4.修改之删除列

#alter table 表名称 drop 列名称;

#alter table tb_stu drop class;

5.修改之修改表名称

#alter table 表名称 rename to 新表名称;

#alter table tb_stu rename to tb_student;

五.DML语句(data manipulation language)

数据操作语言:定义数据库记录。增,删,改表记录

1

2

3

4

5

6

7

1.插入数据

#INSERT INTO tb_student(number,NAME,age,gender,phonenum)VALUES('0001','zhangsan',20,'man','123456789');

2.修改数据

where运算符 = ,!=,>=,<=,BETWEEN...AND,IN(...) OR,AND,IS NULL,NOT#UPDATE tb_student SET number='0002',NAME='lisi' ,

age=age+1 WHERE NAME='lisi';#UPDATE tb_student SET age=age+1 WHERE number='0003' 'name'='wangwu' AND gender is null;

3.删除数据

#DELETE FROM tb_student WHERE number='0002';

六.DCL(data controller language)

1

2

3

4

5

6

7

8

9

10

11

12

13

1.创建新用户

用户只能在指定的IP上登录

#create user 名称@IP identified by '密码';

用户可以在所有的IP上登录

#create user 用户名@'%' identified by'密码';

2.给用户授权

#grant all on 数据库名.* to 用户名@IP地址;

3.撤销权限

#revoke delete on 数据库名.* from 用户名@IP地址;

4.查看权限

#show grants for 用户名@IP;

5.删除授权用户

#drop user 用户名@IP;

六.DQL语句(data query language)

数据查询语言:用来查询表记录

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

1.指定列查询

#select number,name from stu;

2.去重查询(重复的只记录一次)

#select distinct age from stu;(年龄相同的只记录一次)

3.列运算

(1)数量类型的列可以做加减乘除运算 

   #select *,salary*1.5 from stu;

  #select name,salary+comm from stu;

  (2)转换null的值(如果comm为空,按0计算) 

  #select salary+ifnull(comm,0) from stu;

  (3)字符串连接 

  #select number,concat(job,'haha') from stu;

  (4)给列起别名 

  #select number 别名,job 别名 from stu;

4.模糊查询

查询名字为三个字并且是以‘明’结尾#select *from stu where name like '__明';查询名字中带‘明’的数据

#select *from stu where name like '%明%';

5.排序

(1).升序(年龄升序)

#select *from stu order by age asc;

(2).降序 (年龄降序)

#select * from stu order by age desc;

(3).多列排序(年龄升序,分数降序)

#select * from stu order by age asc,score desc;

6.聚合函数

(1).查询所有列不全为空的个数

#select count(*) from stu;

(2).查询得分总数

#select sum(score) from stu;

(3).查询平均分数

#select avg(score) from stu;

(4).查询最高分数

#select max(score) from stu;

(5).查询最低分数

#select min(score) from stu;

7.分组查询

按性别分组,查询不同性别的人数

#select gender,count(*) from stu group by gender;

查看不同性别的得分大于60分的人数

#select gender,count(*) from stu where score>60 group by gender;

查看不同性别的得分大于60分并且人数大于30人的分组

#select gender,count(*) from stu where score>60 group by gender having count(*)>30;

8.limit(方言)

#select *from stu limit 4,10;

相关推荐:

PHP+MySQL处理高并发加锁事务步骤详解

PHP+MySQL实现消息队列步骤详解

如何查看MySQL的版本?

以上就是关于MySQL的基础知识详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

mysql中的group by如何使用

mysql最新版本是多少

如何在phpmyadmin中修改mysql密码

mysql语句查询技巧有哪些

mysql分区字段列有必要再单独建索引吗?

eclipse导入mysql连接java 的准备工作

mysql如何创建只读用户

mysql 慢查询日志深入理解

mysql适合数据仓库吗?

mysql如何限制sql查询时间

更多相关阅读请进入《mysql》频道 >>


数据库系统概念 第6版
书籍

数据库系统概念 第6版

机械工业出版社

本书主要讲述了数据模型、基于对象的数据库和XML、数据存储和查询、事务管理、体系结构等方面的内容。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...