MySQL详细笔记请转至此处
SQL 语句很多很记起来很麻烦,此篇文章对SQL语句进行了分类,以后写数据库的时,可以边写边参考此文章,再也不用担心忘记SQL语句了
//启动
net start mysql【版本号】
//停止
net stop mysql[版本号]
1.客户端自带的直接连接即可
2.在命令行输入
mysql [-h ip地址] [-P 端口号] -u 用户名 -p
密码
3.使用图形界面操作
DDL语句:数据定义语言,用来定义数据库对象(数据库,表字段)
说名:database_name : 创建的数据库名。
IF NOT EXISTS : 在创建数据库前加上 一个判断,只有该数据库目前尚不存 在时才执行CREATE DATABASE操作。
(1) 如果指定CHARACTER SET charset_name和COLLATE collation_name,那么采用字符集charset_name和校对规则collation_name。
(2) 如果指定了CHARACTER SET charset_name而没有指定COLLATE collation_name,那么采用CHARACTER SET charset_name和COLLATE collation_name的默认校对规则。
(3) 如果CHARACTER SET charset_name和COLLATE collation_name都没有指定,那么采用服务器字符集和校对规则。
ALTER DATABASE database_name[ DEFAULT] CHARACTER
SET character_name COLLATE collation_name;
这里database_name是要修改的数据库名;
character_name是修改的字符集的名称;
collation_name是修改的校对规则。
字符集的名称、校对规则与新建数椐库时的字符集和校对规则相同,这里就不再说明了。
CREATE TABLE [IF NOT EXISTS] table_name(
字段1 字段1类型 [COMMET 字段1注释],
col_name2 data_type2 [COMMET 字段2注释],
·
·
·
col_name n data_type n)[COMMET 表注释];
SQL语句可以多行一起写,创建时前面的写完加逗号,最后一句不加逗号。写分号表示语句结束。
举例:在reader中添加一个字段reader_address;
ALTER TABLE student ADD reader_address end IARCHAR(100);
TRUNCATE TABLE 表名;
说明 : 如果是复制其他数据库的表结构,在table_name2前加上数据库的名称;
例 : 将数据库db_library中的reader表结构复制到 当前数据库,命名为表结构 t_readerr;
CREATE TABLE t_reader LIKE db_library.reader;
DML语句: 数据操作语言,用来对数据表中的数据进行增删改
INSERT 表名 VALUES (值1,值2…);
INSERT 表名 (字段名1,字段名2,…) VALUES (值1,值2…), (值1,值2…),…;
INSERT INTO 表名 VALUES (值1,值2,…), (值1,值2,…), (值1,值2,…),
tip:
UPDATE 表名 SET 字段名1 = 值1,字段名2=值2,…[WHERE 条件];
tip:修改语句的条件可以有,也可以没有,如果没有条件,则会修改整张表的所有数据
DELETE FROM 表名 [WHARE 条件]
tip:
DQL语句:数据查询语言,用来查询数据库中的记录
SELECT
字段列表
FROM
表名列表
WHARE
条件列表
GROUP BY
分组字段列表
HAVING
分组后条件列表
ORDER BY
排序字段列表
LIMIT
分页参数
SELETC 字段1,字段2,字段3… FORM 表名;
SELECT * FROM 表名;
SELECT 字段 [[AS] 别名1],字段2[[AS] 别名2] … FROM 表名;
将一列数据作为一个整体,进行纵向计算。
SELECT 聚合函数(字段列表) FROM 表名;
SELETC 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤。
判断条件不同:where不能对聚合函数进行判断,而having可以。
SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
ASC:升序(默认值)
DESC: 降序升序可省略
注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序。
SELECT 字段列表 FROM LIMIT 起始索引,查询记录数;
DCL语句:用来管理数据库用户、控制数据库的访问权限。
USE mysql;
SELCET*FROM user;
CREAT USER '用户名‘@‘主机名’ IDENTIFIED WITH BY ‘密码’;
ALTER USER '用户名‘@‘主机名’ IDENTIFIED mysql_nativate_password BY ‘密码’;
DROP USER ‘用户名’@‘主机名’;
注意:
SHOE GRANTS FOR ‘用户名’@‘主机名’;
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@‘主机名’;
REVOKE 权限列表 ON 数据库名.表名 FROM ‘用户名’@‘主机名’;
注意: