MySQL基础篇
2020-06-08 10:32:29 0 举报
AI智能生成
MySQL
作者其他创作
大纲/内容
监视器
创建数据库
创建数据库
启动
mysql -u 用户名 -p密码
退出
quit;
exit
创建数据库
创建数据库
create database 数据库名;
显示数据库一览
show databases;
删除
drop databases 数据库名;
指定用户
grant all privileges on 数据库名.* to 用户名@localhost identified by 密码;
创建数据表
指定数据库
use 数据库名;
创建新表
create table 表名(域名 数据类型 列选项[]);
指定字符集
支持中文在创建新表命令后添加语句: charset=utf8;
数据插入及显示
插入
insert into 表名(列名1,列名2,...) values(数据1 数据2);
显示
select 列名1,列名2, ... from 表名
显示表信息
显示所有表
show tables;
显示表结构
desc/describe 表名;
删除表
drop table 表名;
数据插入及显示
插入
insert into 表名(列名1,列名2...) values (数据1, 数据2...)
显示
select 列名1 列名2 ... from 表名;
自增序列的设置
数据类型必须为int; 列的定义后附加关键字 auto_increment
使用primary key设置其唯一性; 初始化:alter table 表名 auto_increment =0
使用primary key设置其唯一性; 初始化:alter table 表名 auto_increment =0
SQL
种类
data manipulation language; DML
data definition language; DDL
data control language; DCL
数据操作
插入
当值为字符串日期时要用单引号括起来
更新
update 表名 set 列名1=值1,列名2=值2,... where 条件表达式;
删除
delete from 表名 where 条件表达式;
truncate table 表名;
删除所有数据
删除所有数据
检索
select 列名1, 列名2 ,... from 表名[条件表达式];
明确指定
条件检索
where birth>='1980-10-10';
模糊检索
where nam like '李%';
NULL条件
where birth is NULL;
多条件结合
where sex='1' and birth is not NULL;
结果排序
order by sex asc(升), birth desc(降);
指定区间
order by birth desc limit 2;
排序后取前几
排序后取前几
数据分组
group by sex;
列的别名
select count(mid) as cnt;
运算符与数据库函数
运算符
[+],[-],[*],[/],[>],[<],[and],[or],[true],[false]...
函数
count(),length(),case(),char,now(),abs(),date_add()...
多个表的链接
内链接
select 列名1... from 表1 inner join 表2 on 表1.外键=表2.主键 [where /order by 等语句];
外链接
左链接
... left outer join ...;
右链接
... right outer join ...;
全链接
... full join ...
索引
对于使用者只需要添加索引
数据库加锁
当并发量大的时候,会出现读写同时出现的情况。此时需要加锁来解决同时出现的并发操作。
表的维护和改造
修改表的列结构
改变列的数据类型
alter talble 表名 modify 列名 数据类型;
追加新列
alter table 表名 add 列名 数据类型;
改变列的位置
alter table 表名 modify 列名1 数据类型 after 列名2;
改变列名与类型
alter table 表名 change 列名_改前 to 列名_改后;
删除列
alter table 表名 drop 列名;
复制表和修改表
表的列构造+数据复制
create table 新表名 select * from 旧表名;
列构造
create table 新表名 like 旧表名;
数据复制
insert into 表名 select * from 含数据的表;
0 条评论
下一页