9:38 2019/3/7/周四
///////////////////////////
MYSQL
//////////////////////////
SQL 规范:
1.SQL语句不区分大小写。
2.SQL 语句以“;”来结束。
3.可以利用空格或者缩进来提可读性。
4DDL(定义性)DML操作。
///////////////////////////////////
DDL
/////////////////////////////////////
//数据库查询:
show databases
//创建数据库
create database td_demo
//删除数据库
DROP database show_mysql;
//创建数据库 如果不存在的情况。
create database
if not exists show_mysql;
//展示数据库;
show create database s1;
//更改文件编码方式
alter database s1 character set gbk;
////////////////////////////////////////////////////////
//数据库类型
char (30)//定长必须是30个字节的
varchar(30)//不定长的,最多不能操作30个字节。ps(汉字在utf-8占3个字节)
data 时间数据类型:
/////////////////////////
mysql> create TABLE equipment( ///这个 是创建表
equip_id TINYINT primary key ,
mush_id TINYINT
)
-> ;
mysql> desc equipment//这个是查询表里面的内容
mysql> show create table equipment //
-> ;
结果:
| equipment | CREATE TABLE `equipment` (
`equip_id` tinyint(4) NOT NULL,
`mush_id` tinyint(4) DEFAULT NULL,
PRIMARY KEY (`equip_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
////////////////////////////////////
mysql> alter table equipment add ison_interenet tinyint(1);//向table 里面添加信息。
//添加多条信息:
mysql> alter table equipment add A INT,
-> add B INT,
-> add C INT;
删除表格信息:
mysql> alter table equipment drop A;
//修改表格信息:
mysql> alter table equipment modify B tinyint;
//创建表格:
create table A( id int);
//删除表格:
create table A( id int);
/////////////////////
新创建表格信息:
mysql> create TABLE emp(
id TINYINT primary key ,
name varchar(20),
age tinyint,
gender char(3),
salary float(7,2),
depart varchar(20)
)
-> ;
//插入表格元素:
mysql> insert into emp(id,name,age,gender,salary,depart)
-> values(1,"ann",22,"男",9600,"技术部");
//查询表格里面你的内容。
mysql> select *from emp;
+----+------+-----+--------+--------+--------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+--------+
| 1 | ann | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+--------+
1 row in set
//插入多行语句:
mysql> insert into emp(id,name,age,gender,salary,depart) values (2,"cjm",22,"男",9600,"商务英语"),
(3,"zy",22,"男",9600,"技术部"),
(4,"qz",22,"男",9600,"技术部");
//修改:
update emp set salary=salary+2000 WHERE name="ann";
mysql> update emp set gender="女" where name ="cjm";
mysql> select *from emp;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
| 4 | qz | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+----------+
//删除表记录:
mysql> delete from emp where id=4;
////////////////////////////////////////////
查询
/////////////////////////////////////////
//查询部分。
select name from emp;
//查询是自动删除里面元素相同的(只保留第一次):
select distinct age from emp;
//
mysql> select *from emp;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+----------+
3 rows in set
mysql> select name as 姓名 from emp;//这个as是用来显示的,就是吧name 换成了姓名。
+------+
| 姓名 |
+------+
| ann |
| cjm |
| zy |
+------+
//
mysql> select *from emp where age>18;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+----------+
//排序:order by age desc(这个是升序)asc
mysql> select *from emp where age>18 order by age desc;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
| 5 | cm | 22 | 男 | 9600 | 技术部 |
| 6 | qz | 22 | 男 | 9600 | 技术部 |
| 4 | ccw | 20 | 女 | 9600 | 商务英语 |
+----+------+-----+--------+--------+----------+
//mysql> select *from emp where age>18 order by age asc;//这个是降序。
//group排序:
mysql> select *from emp group by id;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
| 4 | ccw | 20 | 女 | 9600 | 商务英语 |
| 5 | cm | 22 | 男 | 9600 | 技术部 |
| 6 | qz | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+----------+
//
聚合函数。
select count(name) from emp where age>18;
///////////////////////////
///limit;限制显示几条。
mysql> select *from emp group by id limit 3;
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 1 | ann | 22 | 男 | 11600 | 技术部 |
| 2 | cjm | 22 | 女 | 9600 | 商务英语 |
| 3 | zy | 22 | 男 | 9600 | 技术部 |
+----+------+-----+--------+--------+----------+
mysql> select *from emp group by id limit 2,2;//这个是跳过2条显示2条。
+----+------+-----+--------+--------+----------+
| id | name | age | gender | salary | depart |
+----+------+-----+--------+--------+----------+
| 3 | zy | 22 | 男 | 9600 | 技术部 |
| 4 | ccw | 20 | 女 | 9600 | 商务英语 |
+----+------+-----+--------+--------+----------+