- 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 | 软件工程 |



