- P1:Mysql常用命令
退出mysql:exit
查看mysql中有哪些数据库:show databases;
mysql自带4个数据库。
\c用来终止一条SQL语句的输入,或者用;来结束
使用某个数据库:use 数据库名
创建数据库:create database 数据库名
mysql> create database mo;
Query OK, 1 row affected
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| 11 |
| mo |
| mysql |
| performance_schema |
| test |
+--------------------+
6 rows in set
查看某个数据库下有哪些表:show tables
mysql> show tables;
+--------------+
| Tables_in_11 |
+--------------+
| stu |
+--------------+
1 row in set
- P2 表
数据库当中最基本的单元是表:table
性名 | 性别 | 年龄 |
张三 | 男 | 17 |
李四 | 男 | 19 |
P3 SQL的分类
DQL:数据查询语言(凡是带有select 关键字的都是查询语句)
select.....
DML:数据库操作语言(凡是对表中的数据进行增删改的都是)
insert delete update 主要是操作表中的数据data
DDL:数据定义语言( 凡是带有create,drop,alter)
主要操作的是表的结构
P4 导入数据
查看表中的数据:select*from 表名;
mysql> select * from sc;
+------------+------+--------+
| sno | cno | degree |
+------------+------+--------+
| 2007010101 | a01 | 67 |
| 2007010101 | a02 | 80 |
| 2007010101 | a03 | 92 |
| 2007010103 | a01 | 95 |
| 2007010103 | a02 | 91 |
| 2007010103 | a03 | 86 |
| 2007010104 | a01 | 82
P5:查看表结构
不看表中数据,只看表中的结构:desc 表名;
mysql> desc student;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| sno | varchar(10) | NO | PRI | | |
| sname | varchar(8) | YES | | NULL | |
| ssex | varchar(2) | YES | | NULL | |
| sphone | varchar(20) | YES | | NULL | |
| saddress | longtext | YES | | NULL | |
| sbirthday | date | YES | | NULL | |
| sdept | varchar(16) | YES | | NULL | |
| sphoto | longblob | YES | | NULL | |
| speciality | varchar(20) | YES | | NULL | |
| classno | varchar(8) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
10 rows in set
P6:SQL简单查询
查询一个字段:
select 字段名 from 表名;
其中注意:select和from都是关键字,字段名和表名都是标识符
查询学生名字:
mysql> desc student;
+------------+-------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+-------+
| sno | varchar(10) | NO | PRI | | |
| sname | varchar(8) | YES | | NULL | |
| ssex | varchar(2) | YES | | NULL | |
| sphone | varchar(20) | YES | | NULL | |
| saddress | longtext | YES | | NULL | |
| sbirthday | date | YES | | NULL | |
| sdept | varchar(16) | YES | | NULL | |
| sphoto | longblob | YES | | NULL | |
| speciality | varchar(20) | YES | | NULL | |
| classno | varchar(8) | YES | | NULL | |
+------------+-------------+------+-----+---------+-------+
10 rows in set
mysql> select sname from student;
+----------+
| sname |
+----------+
| 王小龙 |
| 于田田 |
| 王洪利 |
| 邓维杰 |
| 刘高尚 |
| 孙晋梅 |
| 闫旭光 |
| 张忠 |
| 张楠楠 |
| 李佳丽 |
P7:查询两个字段,或者多个字段,则使用“,”隔开
查询学号和性别
mysql> select sno,ssex from student;
+------------+------+
| sno | ssex |
+------------+------+
| 2005020301 | NULL |
| 2007010101 | 男 |
| 2007010103 | 男 |
| 2007010104 | 男 |
| 2007010105 | 男 |
| 2007010106 | 女 |
| 2007010107 | 男
P8:查询所有字段
1.可以把每个字段都写上
select a,d,g,b....from 表名;
2.可以使用*
select * from 表名;
mysql> select * from course;
+------+-------------------------+
| cno | cname |
+------+-------------------------+
| a01 | 大学英语 |
| a02 | 高等数学 |
| a03 | 思想品德教育 |
| a04 | 法律基础 |
| b01 | 电工基础 |
| b02 | 电子技术基础 |
| b03 | 电子线路基础 |
| c01 | 计算机文化基础 |
| c02 | C语言程序设计与数据结构 |
| c03 | 软件工程 |
| c04 | JAVA程序设计基础 |
| c05 | JAVA高级程序设计 |
| c06 | 数据库原理及应用 |
| c07 | 计算机网络技术 |
| c08 | 网页制作技术 |
| c09 | JAVA项目实训 |
| c10 | JSP程序设计 |
| c11 | 计算机组装与维修 |
+------+-------------------------+
18 rows in set
P9:列起别名
使用as关键字起别名,as可省略
mysql> select cno,cname as wan from course;
+------+-------------------------+
| cno | wan |
+------+-------------------------+
| a01 | 大学英语 |
| a02 | 高等数学 |
| a03 | 思想品德教育 |
| a04 | 法律基础 |
| b01 | 电工基础 |
| b02 | 电子技术基础 |
| b03 | 电子线路基础 |
| c01 | 计算机文化基础 |
| c02 | C语言程序设计与数据结构 |
| c03 | 软件工程 |