总结:
启动mysql:
登录mysql:
退出mysql:
----------------------------------------------------------
数据库命令:
创建create database 数据库名 charset=utf8;
删除drop database 数据库名;
查看所有数据库:show databases;
使用数据库:use 数据库名;
-------------------------------------------------------
表命令:
create table 表名(列...);
列的格式:列的名称 类型 约束
唯一标识的要求:id
类型:int unsigned varchar bit datetime
约束1:not null
约束2:primary key
约束3:auto_increment
create table stu(
-> id int not null primary key auto_increment,
-> name varchar(10) not null,
-> gender bit default 1,
-> birthday datetime,
-> isDelete bit default 0
-> );
查看表show tables;
查看表结构desc 表名;
修改表:alter table 表名 add|modify|drop 列名 类型 约束;
alter table stu modify column isDelete bit not null default 0;
删除表:drop table 表名;
----------------------------------------------------------
数据命令:
添加数据:insert into 表名(列名) values(值),(值)...;
删除数据:delete from 表名 where ...;
逻辑删除:update ....
修改数据:update 表名 set 列1=值1,... where ...;
备份:mysqldump >
恢复:mysql <
----------------------------------------------------------
数据查询:
增加:添加顺序要与表的结构一致
1. 插入完整数据(顺序插入)
语法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
语法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n);
2. 指定字段插入数据
语法:
INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
3. 插入多条记录
语法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n);
4. 插入查询结果
语法:INSERT INTO 表名(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
更新/更改:
语法:
UPDATE 表名 SET
字段1=值1,
字段2=值2,
WHERE CONDITION;
示例:
UPDATE mysql.user SET password=password(‘123’)
where user=’root’ and host=’localhost’;
删除:删除后不可更改。
语法:
DELETE FROM 表名
WHERE CONITION;
示例:
DELETE FROM mysql.user
WHERE password=’’;
练习:
更新MySQL root用户密码为mysql123
删除除从本地登录的root用户以外的所有用户
逻辑删除:alter table students add isdelete bit default 0;
update students isdelete=1 where;
权限管理:
#授权表
user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段
db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段
tables_priv #该表放行的权限。针对:某一张表,以及该表下的所有字段
columns_priv #该表放行的权限,针对:某一个字段
#按图解释:
user:放行db1,db2及其包含的所有
db:放行db1,及其db1包含的所有
tables_priv:放行db1.table1,及其该表包含的所有
columns_prive:放行db1.table1.column1,只放行该字段
----------------------------------------------------
查询:
查询的基本语法 select * from 表名;
查询:select id,name from students;
from关键字后面写表名,表示数据来源于是这张表
select后面写表中的列名,如果是*表示在结果中显示表中所有列
在select后面的列名部分,可以使用as为列起别名,这个别名出现在结果集中
如果要查询多个列,之间使用逗号分隔
完整的select语句
select distinct *
from 表名
where ....
group by ... having ...
order by ...
limit star,count
执行顺序为:
from 表名
where ....
group by ...
select distinct *
having ...
order by ...
limit star,count
实际使用中,只是语句中某些部分的组合,而不是全部