标签:comm 临时 procedure where update 作用 www. 小数 trigger
1、mysql -h localhost -u root -p ******(回车) 2、mysql -h localhost -u root -p(回车) ******(回车) 3、mysql -u root -p ******(回车)(这个不写-h的话也是默认链接localhost) 4、mysql -u root -p(回车) ******(回车) (这里的root是用户名,******是密码。这是在本机测试)
MYSQL>exit(回车)
或者
MYSQL>quit(回车)
MYSQL>show databases;(回车) (这里注意结束语句是英文状态下的分号)
MYSQL>create database mysql2;(回车) (这里的mysql2是要创建的库名)
MYSQL>use mysql2;(回车) (这里的mysql2是要选中库的名)
MYSQL>show tables;(回车) (下表是空的,因为是刚刚创建的库)
MYSQL>drop database test;(回车) (这里的test是要删除的库名)
MYSQL>create table class ( stu int, name varchar(20), age int );(回车)
MYSQL>rename table class to newClass;(回车) (这里的class是要改的表名,newClass是新的表名)
MYSQL>drop table newClass;(回车) (这里的newClass是要删除的表名)
MYSQL>desc class;(回车)
MYSQL>insert into class (stu,name,age) values (1,‘zhangsan‘,23);(回车)
设置编码格式
MYSQL>set names GBK;(回车)
查找
MYSQL>select * from class;(回车)
(这表示查找class表下的所有信息)
或者
MYSQL>select stu,name from class;(回车)
(表示只看class表下的stu和name列的所有信息)
MYSQL>select * from class stu = 2;(回车) (表示只看class表下的stu=2行的所有信息)
MYSQL>select stu,name from class stu = 2;(回车) (表示只看class表下的stu和name列的stu=2行的所有信息)
MYSQL>update class set stu = 3, age = 244 where stu = 2;(回车) (这里的class是要修改的那个表下面的,set到where中间是要修改的内容,where后面的是定位)
MYSQL>delete from class where stu = 3;(回车) (这里的class是在那个表下面删除,where后面的语句是定位功能)
tinyint、smallint、mediumint、int、bigint 1、tinyint:1个字节,能表示的范围是-2^7~2^7-1(-128~127),如果声明是无符号unsigned的,则能表示的范围是0~2^8(0~256); 2、smallint:2个字节,能表示的范围是-2^15~2^15-1(32,768~32,767),如果声明是无符号unsigned的,则能表示的范围是0~2^16(0~65,535); 3、mediumint:3个字节,能表示的范围是-2^23~2^23-1(-8,388,608~8,388,607),如果声明是无符号unsigned的,则能表示的范围是0~2^24(-16,777,216~16,777,215); 4、int:4个字节,能表示的范围是-2^31~2^31-1(-21,4748,3648~21,4748,3647),如果声明是无符号unsigned的,则能表示的范围是0~2^32(0~4,294,967,296); 5、bigint:8个字节,能表示的范围是-2^63~2^63-1(-922,3372,0368,5477,5808~922,3372,0368,5477,5807),如果声明是无符号unsigned的,则能表示的范围是0~2^64;
float、double、decimal 在mysql下不管几个字节,使用时 1、float(M,D):M表示除了小数点外的所有位数,D表示小数点的位数。 例如:float(4,2)表示的范围是-99.99~99.99 2、decimal(M,D):M表示除了小数点外的所有位数,D表示小数点的位数。 例如:decimal(4,2)表示的范围是-99.99~99.99 这两者的区别是,decimal更精确。
char、varchar、text 也是不用管几个字节,使用时 1、char(M):M表示能放几个字符,是定长,在内存中就是占M和字符。但是char类型不能存放字符串末尾有空格的。在utf-8码表下,一个中文的字符所占的是三个字节。 2、varchar(M):M表示能放几个字符,是不定长,实际中占N<=M个字符,那么在内存中所占的是N个字符。 3、text:是存放文本的,但是不常用,可以选择char和varchar。
year、date、time、datetime 也是不用管几个字节,使用时 1、year:的存放范围1901~2155和0000,这里的0000是存放非法输入和没有输入时。输入两位数也行,如果输入的是01~69就代表输入的是2001~2069,如果输入的是70~99就代表输入的是1970~1999。 2、date:的存放范围1000-01-01~9999-12-31 3、time:的存放范围-838:59:59~838:59:59 4、datetime:的存放范围1000-01-01 00:00:00~9999-12-31 23:59:59
一般配合max、min、sum、avg、count这五个统计函数来使用
max:求最大
min:求最小
sum:求总和
avg:求平均
count:求总行数
1、where型子查询:把内层查询的结果当作外层的比较条件
2、from型子查询:把内层的查询结果当成临时表,供外层sql再次查询
3、exists型子查询:把外层的查询结果,拿到内层的查询是否成立
联合的意思,即把两次或多次查询结果合并起来。
UNION 用于合并两个或多个 SELECT 语句的结果集,并消去表中任何重复行。
UNION 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型。
同时,每条 SELECT 语句中的列的顺序必须相同.
SELECT column_name FROM table1 UNION SELECT column_name FROM table2
union all的话就是把重复的也保留下来
列的增
MYSQL>alter table class add phone char(11);(回车) (这里的class的表名,phone是增加的列名,char(11)是增加列名的数据类型)
列的删除
MYSQL>alter table class drop phone;(回车) (这里的class的表名,phone是要删除的列名)
列的修改
MYSQL>alter table class change newAge age int;(回车) (这里的class的表名,newAge是要修改的列名,age是修改后的列名,int是修改列名的数据类型,要和修改前的一样)
视图是虚拟的数据,默认情况下是保存语句
创建的视图
MYSQL>create view st as select * from class where id>2;(回车) select * from st where id<6;(回车)
就等价于
MYSQL>select * from class where id>2 and id<6;
MYSQL>drop view st;(回车)
(这里st是视图名)
MYSQL>aletr view st as select * from class id < 6;(回车) (这里st是视图名,class是表名)
修改结束符
MYSQL>delimiter $(回车) (此时结束符就为$)
增加类
MYSQL>create trigger triggerName1 after insert on buy for each row begin update sell set sum = sum - new.sum where animal = new.animal; end$(回车) (这里的triggerName1是创建触发器的名,buy是要插入的数据表名,begin和嗯对之间的是sql语句,new点表示新插入的行。)
MYSQL>show triggers$(回车) (这里的$是之前修改的结束符)
mysqldump -uroot -p123456 mysql2 sell buy>D:/sellANDbuy.sql mysqldump -u用户名-p密码 库名 表1 表2>地址/备份文件名称
mysqldump -uroot -p123456 mysql2>D:/mysql2ALLtable.sql mysqldump -u用户名-p密码 库名>地址/备份文件名称
mysqldump -uroot -p123456 -B mysql mysql2>D:/mysqlANDmysql2.sql mysqldump -u用户名-p密码 -B 库名1 库名2>地址/备份文件名称
mysqldump -uroot -p123456 -A>D:/databases.sql mysqldump -u用户名-p密码 -A>地址/备份文件名称
mysql -uroot -p123456 <D:/mysql2.sql mysql -u用户名-p密码 <地址/恢复文件名称
source D:/mysql2.sql; source 地址/恢复文件名称;
mysql -uroot -p123456 mysql2<D:/sellANDbuy.sql mysql -u用户名 -p密码 库名<地址/恢复文件名称
use mysql2; source D:/sellANDbuy.sql; use 库名; source 地址/恢复文件名称;
create table name (id tinyint) engine=myisam;
不支持事务,优势是访问速度快。
create table name2 (id tinyint) engine=innodb;
支持事务,但是访问速度相对慢。
start transaction;(开始事务) commit;(结束事务)
start transaction;(开始事务) rollback;(事务结束回滚)
仅仅是加快查询速度
不能重复,主键至多只有一个
行上的值不能重复
alter table buy add index index1(sum); alter table 表名 add 索引类型 [索引名](列名);(这里的索引名是可选)
show index from buy; show index from 表名;
alter table buy drop index index1; alter table 表名 drop index 索引名;
意思就是创建函数
create procedure function1() begin select * from buy; end$(这里的function1是存储名,没有参数,select * from buy;是sql语句,$是修改的结束符)
call function1()$ call 存储名()$
show procedure status$
drop procedure function1$ drop procedure 存储名$
create procedure function2(sum tinyint) begin if sum=4 then select * from class where id>sum; else select * from class where id<=sum; end if; end$
标签:comm 临时 procedure where update 作用 www. 小数 trigger
原文地址:https://www.cnblogs.com/xiaostudy/p/9256917.html