MySQL基础

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;

注意:运行结果为:

12.string :
  ①、字符串要用单引号扩起来
  ②、数字类型直接书写
  ③、字符串是大小写不敏感的,
  ④、字符串敏感,需要添加 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;

posted on 2017-03-20 19:30  超人不会飞丿  阅读(177)  评论(0编辑  收藏  举报

导航