MySQL笔记 -- 命令

SQL语言的分类

数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

一、 DDL

创建基本表

create table student ( Sno char(5) not null unique, Sname char(20) unique, Ssex char(1), Sage int, Sdept char(15));

复制表结构和数据

create table new_dwd_inv_return_record as select * from dwd_inv_return_record; 

复制表结构不复制数据

create table new_dwd_inv_return_record as select * from dwd_inv_return_record where 1 =0; 

修改基本表

修改表名(法一):

ALTER TABLE user10 RENAME TO user11; 

修改表名(法二):

RENAME TABLE user11 TO user10;

删除表

drop table <表名>

删除表中数据,保留结构

truncate table ‘表名’ 

修改表名

ALTER TABLE dwd_pro_repay_record RENAME TO d_pro_repay_record; 

查询数据(模糊查询)

select * from dwd_inv_contract where borrow_rate like '%' limit 19; 

查看表结构信息

desc  student;

建立与删除索引

create [unique] [cluster] index <索引名> on <表名> (<列名> [<次序][,<列名>[<次序]].....);
注:
unique:表明此索引的每个索引值只对应惟一的一个记录
cluster:表时要建立的索引是聚簇索引,即按某一列建好索引后,硬盘上的数据存储顺序也调整为按这个列的顺序存储,索引的顺序和存储顺序是一致的
drop index <索引名>;

create unique index studentIndex on student (sno); 
drop index studentIndex; 

创建视图

create view v_payment_myisam as select * from payment;

二、DML

添加字段

alter table tea add id int(20) not null PRIMARY KEY ; 

删除表中字段

alter table tea drop column id; 

设置主键自增

auto_increment 

修改字段名:

alter table tab_info rename column createname to thisname; 

修改字段属性:

alter table tab_info alter column thisname varchar(200) not null; 

修改默认值

alter table tabinfo add constraint df default('嘿嘿') for thisname; 

查看表结构

desc 表名

向表中插入数据

insert into tbl1 values('jingba',2345); 

删除表中数据

delete from tbl1 where id=1; 

修改表中数据

update tbl1 set name="" 

从第几条开始向后查几条

select * from dept order by deptno limit 2,1; 

查看当前时间

select now(); 

设置时间的格式

select date_format(now() , '%Y-%m-%d %H:%:m:%s'); 

三、DCL

给root用户设置新密码

mysql>update user set authentication_string=password("123456") where user="root"; 

创建用户并授予所有权限

mysql> GRANT ALL PRIVILEGES ON *.* TO jiqing@"%" IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.03 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

查看所有用户(root)

select host,user from mysql.user;

授予远程访问权限

GRANT ALL PRIVILEGES ON *.* TO 'bdr'@'%' IDENTIFIED BY 'D.123%dr' WITH GRANT OPTION;

四、SQL函数

求和(sum)

select sum(order_price) as sunnum from orders ; 

求平均数(avg)

select AVG(order_price) from orders 

去重(distinct)

SELECT DISTINCT (order_price) from orders; 

排序(order by)

SELECT DISTINCT(order_price) from orders ORDER BY order_price DESC;(默认,升序ASC) 

指定条数查询(limit)

SELECT DISTINCT(order_price) from orders limit 3; 

模糊查询(like)

SELECT customer from orders where customer LIKE 'li%' 

范围查询-散列(in)

SELECT * from orders where order_price in (300,600); 

范围查询-区间(between)

SELECT * from orders where order_price BETWEEN 300 and 600;
原文地址:https://www.cnblogs.com/junzifeng/p/11830794.html