整理之前MySQL的小笔记,可以充当了解MySQL的小小途径......
#查看所有的数据库
show databases;
#创建一个数据库:demotestone
create database demotestone;
create database if not exists demotestone;
#删除一个数据库
drop database demotestone;
#使用这个数据库
use demotestone;
#表#
#查看所有的表
show tables;
#创建一个表
create table user(
id int auto_increment not null primary key,
username varchar(20) not NULL COMMENT '用户名',
password varchar(20) not NULL COMMENT '密码',
phone varchar(13) COMMENT '联系方式'
)CHARSET=utf8;
#直接将查询结果导入或复制到新创建的表
create table copyUser select * from user;
#新创建的表与一个存在的表的数据结构
create table copyAddress like address;
#删除一个存在表
drop table if exists copyaddress;
#更改存在表的名称
alter table copyuser1 rename copyuser;
#查看表的结构
desc user;
#查看表的创建语句
show create table user;
#表的结构#
#添加字段
alter table copyuser add age varchar(2);
#删除字段
alter table copyuser drop age;
#更改字段属性和属性(a是旧,age是新,int是类型)
ALTER table copyuser change a age int;
#只更改字段属性
alter table copyuser modify age VARCHAR(7);
#######表的数据##########
#增加数据
insert into user values (2,'雄安','123','1302598');
insert into user (username,password) values('小模','136');
#删除数据
delete from user where id = 4;
#更改数据
update user set username='小米' where id=1;
#数据查找
select * from user where username like '%小%';
#数据排序(反序)
select * from user order by username,password,id desc;
#######键##########
#添加主键
alter table user add primary key (id);
#删除主键
alter table user drop primary key;
#添加外键(自动生成键名address_ibfk_1)
alter table address add foreign key (userid) REFERENCES user(id);
#删除外键
alter table address drop foreign key `address_ibfk_1`;
#修改外键
alter table address drop foreign key `address_ibfk_1`,add CONSTRAINT address_ibfk_2 FOREIGN key (id);
#添加索引
alter table user add index (username);
#删除索引
drop index username on user;
#####视图######
#创建视图
create view userView
as select id,username,password,phone from user;
create view userView1(id,username)
as select id,username from user;
#查看视图
select * from userView1;
#查看创建视图语句
show create view userView;
#删除视图
drop view if exists userView1;
#####联接######
#内链接
CREATE TABLE n(id INT PRIMARY KEY, name VARCHAR(10),product varchar(10));
CREATE TABLE m(id INT PRIMARY KEY, name VARCHAR(10),phone VARCHAR(13));
#内链接
select * from m INNER JOIN n on m.id = n.id;
#左外联接
select * from m left join n on m.id = n.id;
#右外联接
select * from m right join n on m.id = n.id;
#####函数######
#聚合函数
select count(id) as total from user; #总数
select sum(age) as all_age from copyuser; #总和
select avg(age) as all_age from copyuser; #平均值
select max(age) as all_age from copyuser; #最大值
select min(age) as all_age from copyuser; #最小值
#数学函数
select abs(-5); #绝对值
select bin(15),oct(15),hex(15); #二进制、八进制、十六进制
select pi(); #圆周率3.141493
select ceil(5.5); #大于x的最小整数值6
select floor(5.5); #小于x的最大整数值5
select mod(5,3); #余数2
select rand(); #返回0到1的随机数
select round(3.45); #四舍五入3
select round(3.45,1); #四舍五入3.5 保留一位
select sqrt(9); #平方根3
#字符串函数
select concat('h','e','l','l','o'); #连接字符串hello
select length('chinese'); #返回字符串长度7
select reverse('olleh'); #反转hello
select upper('HellO'),lower('HellO'); #大写HELLO 小写hello
select strcmp('abc','abd'); #比较字符串,参数一小于参数二返回-1
#时间函数
select current_date,current_time,now(); #(2019-08-08)(17:12:24)(2019-08-08 17:12:24)
#系统信息函数
select database(); #当前数据库名
select user(); #当前用户
select version(); #MySQL版本
##########用户##############
#增加用户
create user 'test'@'localhost' IDENTIFIED by 'test';
#删除用户
drop user 'test'@'localhost';
##########存储过程############
#创建存储过程
create PROCEDURE getDates()
begin
select * from user;
end
create procedure getUserInfo
#删除存储过程
drop PROCEDURE if exists getDates;
execute getDates();
小补充:练习环境-->Navicat for MySQL