MYSQL

连接服务器

mysql -uroot -proot

数据库

查看所有数据库

show databases;

创建数据库

create database 数据库名 (charset 字符集)

使用数据库

use database

删除数据库

drop database 数据库名;

显示表的信息

desc 表名;

查看所有表

show tables;

建表

create table 表名(
	字段名 字段类型,
	。。。
	} engine myisam charset utf8;

改表名

rename table 原表名 to 新表名;

修改表

alter table tableName add 列名称 列类型 列参数 first [加的列在表的最前面]alter table tableName add 列名称 列类型 列参数 [加的列在表的最后]alter table tableName add 列名称 列类型 列参数 after 某列 [把新列指定在某列后]

删除列

alter table 表名 drop 列名;

修改列类型

alter table 表名 modify 列名 列类型 列参数;

修改列名及类型

alter table 表名 change 旧列名 新列名 新列类型 新列参数;

插入数据

INSERT INTO 表名 (字段名1,字段名2...VALUES(1,值2...)...(1,值2...);

清空表数据

truncate 表名;

Truncate 和 delete是有区别的
在于truncate相当于删表再重建一张同样结构的表,操作后得到一张表。而delete是从删除所有的层面来操作的,Truncate相当于把旧的学籍表扔了重画一张,Delete相当于用橡皮擦把学籍表的数据库擦掉。

修改表数据

UPDATE 表名
SET 字段名=值, ... ,字段名=WHERE 语句;

删除表数据

DELETE 
FROM 表名
WHERE 语句;

查数据

--查询组合字段
(5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list>
--连表
(1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate>
        (1-A)<left_table><apply_type> apply <right_table_expression> as <alias>
        (1-P)<left_table> pivot (<pivot_specification>) as <alias>
        (1-U)<left_table> unpivot (<unpivot_specification>) as <alias>
--查询条件
(2)where <where_pridicate>
--分组
(3)group by <group_by_specification>
--分组条件
(4)having<having_predicate>
--排序
(6)order by<order_by_list>descasc--取一些条目,0为偏移量,3为条目,偏移量offset为0可以不写
(7) limit 03limit 3

union

(8) union将前后两个结果集连接起来,可以数据类型不一样,但是字段数不一样就会报错,注意结果集的order,如果内部结果集有limit则内部order起作用,否则内部order不起作用,外部order才会起作用
	(sql) union (sql);

union的order问题

(SELECT id, departmentName
FROM department)
UNION
(SELECT id , lastName
FROM employee)
ORDER BY id

id departmentName
1 软件
1 张三
2 李四

(SELECT id, departmentName
FROM department)
UNION
(SELECT id , lastName
FROM employee)
ORDER BY id
LIMIT 2

id departmentName
1 软件
1 张三

(SELECT id, departmentName
FROM department)
UNION
(SELECT id , lastName
FROM employee ORDER BY id DESC)
ORDER BY id
LIMIT 2

id departmentName
1 软件
1 张三

(SELECT id, departmentName
FROM department)
UNION
(SELECT id , lastName
FROM employee ORDER BY id DESC LIMIT 1)
ORDER BY id
LIMIT 2

id departmentName
1 软件
2 李四

union的去重

如果两个结果集有重复的记录就会自动去重,用union all即可避免

(SELECT id FROM department)
UNION
(SELECT id from employee)

id
1
2

(SELECT id FROM department)
UNION ALL
(SELECT id from employee)

id
1
1
2

(SELECT id,departmentName FROM department)
UNION ALL
(SELECT id,lastName from employee)

id departmentName
1 软件
2 李四
1 张三
2 李四

(SELECT id,departmentName FROM department)
UNION
(SELECT id,lastName from employee)

id departmentName
1 软件
2 李四
1 张三

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值