mysql的SQL语句基础归纳
连接数据库:
远程:mysql -h xxx.xxx.xxx.xxx -u root -p
本地:mysql -u root -p
mysql中默认的数据库简介:
information_schema:存储系统中的对象信息
如:用户表信息,权限信息等等
cluster:存储了系统的集群信息
mysql:存储用户的权限信息
test:系统自动创建的测试数据库,任何用户都可以用。
SQL语句的分类:
1,DDL (data define language)数据库定义语言
主要包含create,drop,alter等
2,DML (data manipulation language)数据库操作语言
主要包含insert,delete,update,select等
3,DCL (data control language)数据库控制语言
主要包含grant revoke等
DDL //定义语言
关于数据库:
1,创建数据库: CREATE DATABASE dbname;
2,展示数据库: SHOW DATABASES;
3,选择数据库: USE dbname;
4,删除数据库:DROP DATABASE dbname;
5,查看当前库:SELECT DATABASE();
关于表:
1,创建表:
CREATE TABLE (IF NOT EXISTS) tablename(
column_name_1,column_type_1, constraints,
column_name_2,column_type_2, constraints,
column_name_3,column_type_3, constraints,
……
【字段名】,【字段数据类型】,【字段约束条件】
)ENGINE [搜索引擎] DEFAULT CHARSET=[字符编码];
2,查看表定义
DESC tablename;
3, 查看建表语句
SHOW CREATE TABLE tablename;
4,删除表
DROP TABLE tablename;
5,修改表数据类型
ALTER TABLE tablename MODIFY column_definition[FIRST]/[AFTER col_name];
6,增加表字段
ALTER TABLE tablename ADD column_definition[FIRST]/[AFTER col_name];
7,删除表字段
ALTER TABLE tablename DROP col_name;
8,字段改名:
ALTER TABLE tablename CHANGE old_colname column_definition [FIRST/AFTER col_name];
注意:CHANGE和MODIFY都可以改字段类型,change后面写两次列名,modify后只能写一次,所以modify只能修改类型,不能改名
9,修改表名:
ALTER TABLE tablename RENAME new_tablename;
DCL //控制语言
一般DBA用的比较多,这里作为开发人员,了解一般常见的即可,需要用到查资料就可以了。
1,用户信息存放在mysql默认库中,所以删除,添加,修改等对新用户操作,对mysql表操作即可。
2,更新权限:
FLUSH PRIVILEGES;
3,如果忘记root密码
1,关闭mysql服务
2,使用安全模式 打开mysql服务 mysqld --skip-grant-tables (不要加分号)
3,使用root用户不用密码登陆 mysql -u root
4,登陆后 进入mysql数据库 use mysql;
5,更改root密码
update user set Password=password('新密码') where User='root';
6,更新权限 flush privileges;
7,退出mysql安全模式 mysqladmin -u root -p shutdown
要求输入刚刚设置的新密码
8,重新开启mysql服务
DML //操作语言
1,插入
INSERT INTO tablename (field1,field2,……) VALUES(value1,value2,……);
INSERT INTO tablename (field1,field2,……)VALUES
(value1,value2,……),
(value1,value2,……),
(value1,value2,……),
……;
2,数据更新
UPDATA tablename SET fields1=value1,fiels2=value2,…… [WHERE CONDITION];
注意:可以多表连改,后续博客会写连表操作
3,删除数据
DELETE FROM tablename [WHERE CONDITION]
注意:可以多表连改,后续博客会写连表操作
4,查询数据
SELECT */[FIELD] FROM tablename [WHERE CONDITION]
1,FIELD 需要查询的字段,*代表全部查询
2,CONDITION
1:< > = >= <= != 可以使用or或者and连接。
2:LIMIT num 从最开始查询几条
LIMIT num1 num2, 从num1条开始,查询num2条 //注意num1和id无关
3,ORDER BY column //按照column从小到大排序
ORDER BY column DESC //按照column从大到小排序
注意:column可以写多个,重要度依次递减
4,GROUP BY 分组
WITH GOLLUP 分组聚合后的再汇总
HAVING 表示对分类后的结果条件再过滤
这一篇是对mysql的SQL语句做一个简要的归纳,下一篇会写连表操作,分组操作,转换字段等实例。