您的位置:首页 > 数据库

数据库常用语法

2017-10-13 16:13 162 查看

mysql数据库常用语法

创建数据库create database [if not exists] 数据库名;
删除数据库drop database 数据库名选择数据库
use 数据库名创建表
create table table_name (column_name column_type);
例子:create table if not exists table_name(
name varchar(12) not null auto_increment
primary key(name))engine=innodb default charset=utf-8;

PRIMARY
KEY关键字 主键 ,
ENGINE 设置存储引擎,CHARSET 设置编码。

查看表show tables;查看表结构
desc  table_name;
删除表
drop table table_name;

更新表数据

update table_name set 字段名=值, ... where(条件);
插入表数据

insert into table_name (字段名...) values (字段值...);
删除表数据delect from table_name [where (条件)]
查询表数据select 字段名 from table_name [group by/order by(asc升序/desc降序)] where(条件) limit (start,size)LIKE 子句
select * from table_name where name like "%name";
UNION  [all(所有数据) /
distinct(去重复数据)]  连接两表去除重复
select * from table_name1 union [all/diatinct] select * from table_name2 where(条件) ;
Order by  排序
order by 列名 (ASC升序/DESC降序)
分组 group by
group by 列名
INNER
JOIN 内连接 : 获取两个表中字段匹配关系的记录。
select * from table_name1 a inner join table_name2 b on a.id=b.id
LEFT
JOIN(左连接): 获取左表所有记录,即使右表没有对应匹配的记录。
select * from table_name1 a left join table_name2 b on a.id=b.id


RIGHT JOIN(右连接): 获取右表所有记录,即使左表没有对应匹配的记录。select * from table_name1 a right join table_name2 b on a.id=b.id空值比较

is null : 当值是null时,返回true;

is not null:当值不是null时,返回true;

<=>:当比较的两值为null时,返回true;

正则表达式  REGEXP
"表达式  "

^a
-------------------- 匹配输入字符串的开始位置,匹配以a开始的数据

z$ --------------------

匹配输入字符串的结束位置,匹配以z结束的数据

.
--------------------
匹配除 "\n" 之外的任何单个字符,要匹配包括 '\n' 在内的任何字符,请使用象 '[.\n]' 的模式。

[....]------------------字符集合。匹配所包含的任意一个字符。例如,
'[abc]' 可以匹配 "plain" 中的 'a'。

[^...]------------------负值字符集合。匹配未包含的任意字符。例如,
'[^abc]' 可以匹配 "plain" 中的'p'。

p1|p2|p3-------------匹配
p1 或 p2 或 p3。例如,'z|food' 能匹配 "z" 或 "food"。'(z|f)ood' 则匹配 "zood" 或 "food"。

*
----------------------匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。

+----------------------匹配前面的子表达式一次或多次。例如,'zo+'
能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。

{n}--------------------n
是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。

{n,m}----------------m
和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。

事务(atomicity原子性
consistency一致性 isolation隔离性 durability永久性)

begin 开始一个事务

rollback 事务回滚

commit 事务提交

set autocommit=0 禁止自动提交事务

set
autocommit=1 开启自动提交事务

ALTER命令:修改表名或字段名

添加字段
alter table table_name add age int(12)


删除字段
alter table table_name drop 字段名
修改字段
alter table table_name change 老字段名 新字段名  类型
索引类型:

1------ index普通索引

2------ unique index 唯一索引

3------ primary key 主键索引

4------

创建索引create index indexName on mytable(username(length));添加索引
alter table tableName add index indexName(columnName)
删除索引
drop index [indexName] on mytable;
复制表并插入值
create table table_name like 要复制的表名 insert into table_name (*)
select * from 要复制的表名;

数据源信息

select version(); -------------------------- 查询服务器版本信息

select database(); ----------------------- 查询当前数据库名

select user(); ------------------------------ 查询当前用户名

show status; ------------------------------ 查看服务器状态

show variables; -------------------------- 查看服务器配置变量

过滤重复数据

1:distinct
[dɪˈstɪŋkt]:有区别的,明显的select distinct * from table_name;
2:group by
分组
select * from table_name group by (name);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息