SQL基本的用法
#查看和选择数据库
1.查看数据库服务器存在哪些数据库:
SHOW DATABASES;
2.使用指定的数据库:
USE database_name;
3.查看指定的数据库中有哪些数据表:
SHOW TABLES;
4.创建和删除数据库
创建指定名称的数据库:
CREATE DATABASE database_name;
5.删除数据库:
DROP DATABASE database_name;
6.创建表(CREATE TABLE TABLE_NAME (列名1 类型,列名2 类型))
CREATE TABLE Employee (id INT PRIMARY KEY AUTO_INCREMENT UNIQUE, name VARCHAR(20) NOT NULL DEFAULT '张三'); CREATE TABLE Employee (id INT AUTO_INCREMENT UNIQUE, name VARCHAR(20) NOT NULL DEFAULT '张三',PRIMARY KEY (id));
7.权限:
# GRANT: 授权 # 创建用户的时候同时授权 GRANT ALL PRIVILEGES #把所有的权限授权 ON mysqltest #到数据库 TO admin@'%' #访问的用户名和访问的ip IDENTIFIED BY '0000' #设置访问的密码 WITH GRANT OPTION; #附带下发权限的授权
8.查看权限:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' WITH GRANT OPTION
9.查看特定用户的权限:
show grants for admin@'%';
10.删除用户:
DROP USER admin@'%';
11.简单查询:
SELECT 6+1 FROM DUAL;
注意:运行结果为:

①、字符串要用单引号扩起来
②、数字类型直接书写
③、字符串是大小写不敏感的,
④、字符串敏感,需要添加 binary 关键字
BINARY
SELECT e_id FROM t_employee WHERE BINARY e_name='c'; 此时的'c'就会区分大小写了
13.Date:
SELECT CURRENT_DATE(); // 获取当前日期函数
SELECT CURRENT_DATE;
SELECT CURDATE();
SELECT CURRENT_TIME();//获取当前时间 SELECT CURRENT_TIME;
SELECT CURTIME();
SELECT now();//获取当前(日期+时间)
14.插入一个日期的时候必须按照默认的格式进行插入
INSERT INTO t_employee (e_date) VALUES ('2017-03-20');
15.投影查询(也就是普通的查询,只不过将表中的某些列展示出来)
SELECT e_id FROM t_employee WHERE e_name='c';
16.算数运算符
①. 数字类型的数据可以使用算数运算符进行运算
②. date类型可以使用算术运算符中的 + 和 -, 不能使用 * 和 /, 操作的单位是`天`;
SELECT CURRENT_DATE(), CURRENT_DATE() + 1;
结果展示:
17. NULL
①、空值是指不可用、未分配的值,代表没有值,也是一种特殊的值。
②、空值不等于零或空格
③、任意类型都可以支持空值,也就是说任何类型的字段都可以允许空值作为值的存在
注意: 包括空值的任何算术表达式都等于空
18.常用比较运算符;
①.BETWEEN AND:在两值之间 (包含开始和结尾);
②.IN(list):匹配列出的值;
③.LIKE :匹配字符串模式;
1)-通配符: 1:`_`:一个字符
2:`%`:0个或多个字符
a,//以Xx开头: 'x%' b,//以Xx结尾: '%x' c,//包含Xx: '%x%' d,//以X_开头: '%x_'
2)-转义符:ESCAPE: 表示后面的字符是一个转义符
④、IS [NOT] NULL:是否[不为]为空;
19.查询薪资为(895285)和(213456)的员工;
SELECT * FROM t_employee WHERE e_salary IN (895285, 213456);
20.所有以·ja·开头的员工的姓名;
SELECT e_name FROM t_employee WHERE e_name LIKE 'ja%';
21.使用转义的方式解决特殊字符问题;
SELECT e_name FROM t_employee WHERE e_name LIKE '%\_%';
22.使用关键字ESCAPE解决特殊字符问题;
SELECT e_name FROM t_employee WHERE e_name LIKE '%$_%' ESCAPE '$';
23.ORDER BY;排序(默认升序) ,(ASC(升)/DESC(降))
SELECT * FROM t_employee ORDER BY e_salary;