关于Mysql的基本语句

命令行启动mysql服务器——net start mysql
命令行关闭mysql服务器——net stop mysql
命令行登录mysql数据库——mysql -u root -p 123 -h 192.168.1.31
-u:用户名
-p:密码
-h:IP地址(本地ip可以省略)

SQL:结构化查询语言

  • DDL:数据定义语言,用来定义数据库对象:库、表、列等;
  • DML:数据操作语言,用来定义数据库记录(数据);
  • DCL:数据控制语言,用来定义访问权限和安全级别;
  • DQL:数据查询语言,用来查询记录(数据)。
    数据库操作:
  • 创建mydb数据库
    CREATE DATABASE [IF NOT EXISTS] mydb;
  • 查看所有数据库
    SHOW DATABASES;
  • 切换到mydb数据库
    USE mydb;
  • 删除mydb数据库
    DROP DATABASE mydb;
    数据表操作:
  • 创建mytb表
 CREATE TABLE [IF NOT EXISTS] mytb(
	username varchar(20),
	password varchar(20),
	age int
);
  • 查看当前数据库所有表
    SHOW TABLES;
  • 查看mytb表结构
    DESC mytb;
  • 删除mytb表
    DROP TABLE mytb;
  • 添加test列
    ALTER TABLE mytb ADD (test varchar(20));
  • 修改test列为sex
    ALTER TABLE mytb CHANGE test sex char(20);
  • 删除test列
    ALTER TABLE mytb DROP test;
  • 修改表名称
    ALTER TABLE mytb RENAME TO user;
    数据操作:
  • 插入数据
    INSERT INTO mytb(username, password, age) VALUES ('zsd', 'zsd123', 18);
  • 修改数据
    UPDATE mytb SET age = 20 WHERE username = 'zsd';
  • 删除数据
    DELETE FROM mytb WHERE username = 'zsd';
    用户创建,权限操作
  • 建dong用户
    CREATE USER dong@'%' IDENTIFIED BY '123';
    dong:用户名
    %:代表所有主机都可连接数据库
    123:密码
  • 给dong用户授权——GRANT 权限1,…,权限n ON 数据库.* TO dong@’%’;
    GRANT ALL ON *.* TO dong@'%';
    第一个*:代表所有数据库
    第二个*:代表所有表
  • 显示用户权限
    SHOW GRANTS FOR dong@'%';
  • 删除用户
    DROP USER dong@'%';
  • 修改用户密码
    UPDATE USER SET PASSWORD=PASSWORD('dong123') WHERE User='dong' and Host='%';
    一定要刷新密码:
    FLUSH PRIVILEGES;
    数据查询语言(DQL):
\\查询mytb表的username列
SELECT username FROM mytb 	
\\分组前条件
WHERE username = 'zsd' 	
\\分组	
GROUP BY username 		
\\分组后条件
HAVING password = 'zsd123' 	
\\排序
ORDER BY username ASC/DESC 	
\\分组,0为开始位置,5为5条数据
LIMIT 0, 5			


WHERE 条件查询

  • 在a跟b之间
    BETWEEN a AND b;
  • 满足a或b或c
    IN(a,b,c);
  • 为空
    IS NULL;
  • 否定
    NOT;
    LIKE模糊查询
  • 查询username有3个字符
    LIKE '___';
  • 查询username第一个字符为z
    LIKE 'z%';
  • 查询username中间有一个字符为z
    LIKE '%z%';
  • 查询username最后一个字符为z
    LIKE '%z';
  • 将重复的username去掉
    SELECT DISTINCT username FROM mytb;
  • 将username的NULL换成dong显示
    SELECT IFNULL(username,'dong') FROM mytb;
    常用聚合函数
  • 统计username列不为NULL的记录行数
    COUNT(username);
  • 计算username列的最大值,如果指定列是字符串类型,那么使用字符串排序运算
    MAX(username);
  • 计算username列的最小值,如果指定列是字符串类型,那么使用字符串排序运算
    MIN(username);
  • 计算username列的数值和,如果指定列类型不是数值类型,那么计算结果为0
    SUM(username);
  • 计算username列的平均值,如果指定列类型不是数值类型,那么计算结果为0
    AVG(username);
  • 合并结果集
    UNION\\去除重复记录
  • 合并结果集
    UNION ALL\\不去除重复记录
  • 内连接
    [INNER] JOIN...ON
  • 左外连接
    LEFT [OUTER] JOIN...ON
  • 右外连接
    RIGHT [OUTER] JOIN...ON
    自然连接(自动匹配主外键)
  • 内连接
    NATURAL JOIN
  • 左外连接
    NATURAL LEFT JOIN
  • 右外连接
    NATURAL RIGHT JOIN
    子查询
  • 单行单列——用于条件
  • 单行多列——用于条件
  • 多行单列——用于条件
  • 多行多列——用于表
    WHERE关键字:ALL,ANY
  • 大于最大,小于最小
    ALL
  • 大于最小,小于最大
    ANY
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值