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