MYSQL5.5数据库命令总结
MySQL常用命令

MySQL常用命令MySQL是一种常用的开源关系型数据库管理系统,被广泛应用于各种Web应用程序和企业级应用程序。
本文将介绍一些常用的MySQL命令。
连接与退出连接到MySQL数据库服务器并开始会话,可以使用以下命令:mysql -u [username] -p其中`[username]`是你的MySQL用户名。
输入该命令后,会提示你输入密码进行验证,验证通过后将进入MySQL命令行界面。
退出MySQL命令行界面,可以使用以下命令:exit数据库操作创建数据库要创建一个新的数据库,可以使用以下命令:CREATE DATABASE [database_name];其中`[database_name]`是你要创建的数据库的名称。
使用数据库要使用一个已经存在的数据库,可以使用以下命令:USE [database_name];其中`[database_name]`是你要使用的数据库的名称。
查看数据库要查看当前MySQL服务器上的所有数据库,可以使用以下命令:SHOW DATABASES;该命令将列出所有数据库的名称。
删除数据库如果你不再需要某个数据库,可以使用以下命令将其删除:DROP DATABASE [database_name];其中`[database_name]`是你要删除的数据库的名称。
请注意,该操作是不可逆的。
表操作创建表要在数据库中创建一个新的表,可以使用以下命令:CREATE TABLE [table_name] ([column1] [data_type1],[column2] [data_type2],...);其中`[table_name]`是你要创建的表的名称,`[column1] [data_type1]`表示表的第一个列及其数据类型,`[column2] [data_type2]`表示表的第二个列及其数据类型,以此类推。
查看表要查看某个数据库中的所有表,可以使用以下命令:SHOW TABLES;该命令将列出该数据库中的所有表的名称。
mysql数据库命令大全

mysql数据库命令大全MySQL数据库命令大全。
MySQL是一种开源的关系型数据库管理系统,广泛应用于Web应用程序的开发中。
在使用MySQL数据库时,我们需要掌握一些基本的数据库命令,以便对数据库进行管理和操作。
本文将为大家详细介绍MySQL数据库命令大全,帮助大家更好地使用MySQL数据库。
1. 连接数据库。
在使用MySQL数据库之前,首先需要连接数据库。
可以使用以下命令连接到MySQL数据库:```。
mysql -u username -p。
```。
其中,-u参数用于指定用户名,-p参数表示需要输入密码。
输入密码后,即可成功连接到MySQL数据库。
2. 创建数据库。
创建数据库是使用MySQL数据库的第一步。
可以使用以下命令创建数据库:```。
CREATE DATABASE database_name;```。
其中,database_name为要创建的数据库的名称。
执行该命令后,即可成功创建一个新的数据库。
3. 删除数据库。
如果需要删除数据库,可以使用以下命令:```。
DROP DATABASE database_name;```。
执行该命令后,即可删除指定的数据库。
4. 显示数据库。
要查看当前MySQL数据库中存在哪些数据库,可以使用以下命令:```。
SHOW DATABASES;```。
该命令将列出所有的数据库名称。
5. 使用数据库。
在操作数据库之前,需要先选择要使用的数据库。
可以使用以下命令选择数据库:```。
USE database_name;```。
执行该命令后,即可选择要使用的数据库。
6. 创建表。
在数据库中,数据以表的形式进行存储。
可以使用以下命令创建表:```。
CREATE TABLE table_name (。
column1 datatype,。
column2 datatype,。
column3 datatype,。
...);```。
其中,table_name为要创建的表的名称,column1、column2等为表的列名,datatype为列的数据类型。
mysql数据库查询语句大全

mysql数据库查询语句大全MySQL是一个功能强大的关系型数据库管理系统,支持多种查询语句,涵盖了数据检索、更新、删除等操作。
下面是一些常见的MySQL查询语句:数据查询:1.SELECT:从数据库中检索数据。
SELECT column1,column2 FROM table_name WHERE condition;2.DISTINCT:返回唯一不同的值。
SELECT DISTINCT column FROM table_name;3.WHERE:添加筛选条件。
SELECT*FROM table_name WHERE column=value;4.ORDER BY:按特定列排序检索结果。
SELECT*FROM table_name ORDER BY column ASC/DESC;5.LIMIT:限制返回的记录数。
SELECT*FROM table_name LIMIT 10;数据更新和删除:1.UPDATE:更新表中的数据。
UPDATE table_name SET column=value WHERE condition;2.DELETE:从表中删除行。
DELETE FROM table_name WHERE condition;表操作:1.CREATE TABLE:创建表格。
CREATE TABLE table_name(column1 datatype,column2 datatype,...);2.ALTER TABLE:修改表格。
ALTER TABLE table_name ADD column datatype;3.DROP TABLE:删除表格。
DROP TABLE table_name;4.TRUNCATE TABLE:清空表格数据。
TRUNCATE TABLE table_name;聚合函数:1.SUM:返回特定列的总和。
SELECT SUM(column)FROM table_name;2.COUNT:返回行数。
MYSQL数据库命令大全

MYSQL命令大全常见的MySQL命令大全一、连接MySQL格式:mysql -h主机地址-u用户名-p用户密码1、例1:连接到本机上的MYSQL。
首先在打开DOS窗口,然后进入目录mysqlbin,再键入命令mysql -uroot -p,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>。
2、例2:连接到远程主机上的MYSQL。
假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。
则键入以下命令:mysql -h110.110.110.110 -uroot -pabcd123(注:u与root可以不用加空格,其它也一样)3、退出MYSQL命令:exit (回车)。
二、修改密码格式:mysqladmin -u用户名-p旧密码password 新密码1、例1:给root加个密码ab12。
首先在DOS下进入目录mysqlbin,然后键入以下命令:mysqladmin -uroot -password ab12注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。
2、例2:再将root的密码改为djg345。
mysqladmin -uroot -pab12 password djg345三、增加新用户。
(注意:和上面不同,下面的因为是MySQL环境中的命令,所以后面都带一个分号作为命令结束符)格式:grant select on 数据库.* to 用户名@登录主机identified by \"密码\"例1、增加一个用户test1密码为abc,让他可以在任何主机上登录,并对所有数据库有查询、插入、修改、删除的权限。
首先用以root用户连入MySQL,然后键入以下命令:grant select,insert,update,delete on *.* to test2@localhost identified by \"abc\";如果你不想test2有密码,可以再打一个命令将密码消掉。
如何使用mysql命令行基本命令大全

如何使用mysql命令行基本命令大全MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
我们就要善于使用mysql命令行,从数据库的建立到表数据的删除,小编都给大家整理出来了,请看下文。
如何使用mysql命令行?1、登陆mysql打cmd命令终端,如果已经添加了mysql的环境变量,可以直接使用命令01mysql -uroot直接回车,之后按提示输入密码,如果未添加mysql的环境变量,可以切换到mysql的安装目录下的bin目录,再使用01mysq -uroot你也可以手动为mysql添加环境变量。
这里就不介绍怎么添加环境变量的方法了密码输入正确之后,就会出现“Welcome to the MySQL monitor. Commands end with ; or \g. ......”字样,命令行出现“mysql》”字符前缀。
现在你就可以使用命令对mysql进行操作了。
曾经有没有过这样的经历,原来看见别人在命令行里面咔咔的猛敲时,就一通的崇拜,觉得这人很牛,现在你也可以让别一通崇拜了。
mysql的所有命令都以“;”或者\g为结束符2、新建数据库在新建数据库之后,我们先设置一下字符集01mysql>SET NAMES utf8;然后再创建数据库01mysql>CREATE DATABASE lesson3、显示所有数据库01mysql>SHOW DATABASES;4、使用数据库01mysql>USE 数据库名;5、新建表01mysql>CREATE TABLE study(02id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '学生id号',03username varchar(30) NOT NULL DEFAULT '' COMMENT '学生名字',04class tinyint(3) unsigned NOT NULL,05sex enum('男','女','保密') CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '保密' COMMENT '性别', 06addtime int(10) NOT NULL DEFAULT '0',07PRIMARY KEY (id)08)ENGINE=InnoDB COMMENT = '学生表';6、显示所有表01mysql>SHOW TABLES;7、修改表的名称01mysql>RENAME TABLE study TO study_new;或者01mysql>ALTER TABLE study_new RENAME TO study;8、显示字段信息01SHOW COLUMNS FROM study或者01DESCRIBE study9、插入数据01mysql> insert into study (username,class,sex)VALUES('小王',1,'男'),('小四',2,'女');10、查询数据(使concat函数拼接数据)01mysql> SELECT username,CONCAT(class,'班'),sex FROMstudy;11、删除数据01mysql>DELETE FROM study WHERE id=1;12、删除数据表01DROP TABLE study;13、删除数据库01mysql> DROP DATABASE lesson;补充:MySQL 数据库常用命令create database name; 创建数据库use databasename; 进入数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 查看表的结构select 中加上distinct去除重复字段mysqladmin drop databasename 删除数据库前,有提示。
mysql数据库常用语句大全

mysql数据库常用语句大全1.连接数据库:连接本地数据库:mysql -u root -p连接远程数据库:mysql -h 192.169.22.199 -u root -p退出数据库:exit2.创建数据库:create database payment;使用 mysqladmin 创建数据库mysqladmin -u root -p create abc_db; 3.显示所有数据库:show databases;4.删除数据库:drop database payment;使用 mysqladmin 删除数据库mysqladmin -u root -p drop abc_db5.选择数据库:use home_db;6.数据类型:数值类型:TINYINT:SMALLINT:MEDIUMINT:INT(INTEGER):BIGINT:FLOAT:DOUBLE:DECIMAL:日期和时间类型:DATE:TIEM:DATETIME:YEAR:TIMESTAMP:字符串类型:CHAR:VARCHAR:TINYBLOB:TINYTEXT:BLOB:TEXT:MEDIUMBLOB:MEDIUMTEXT:LONGBLOB:LONGTEXT:7.创建数据表:CREATE TABLE IF NOT EXISTS `t_order`( `id` INT(10) UNSIGNED AUTO_INCREMENT,`title` VARCHAR(100) NOT NULL,PRIMARY KEY(`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;8.删除数据表:DROP TABLE t_order;9.insert 插入:插入一条数据:INSERT INTO t_order(title)VALUES('手机');INSERT 插入多条数据:INSERT INTO t_order(title)VALUES('笔记本'),('平板电脑');10.select 查询:所有字段查询:SELECT * FROM t_order;某些字段查询:SELECT t_order.id, t_order.title FROM t_order;分页查询:SELECT t_order.title FROM t_order WHERE id LIMIT 1,10 11.where 条件:OR,AND的应用:SELECT * FROM t_order WHERE title ='手机' OR title='笔记本';SELECT * FROM t_order WHERE title ='手机' AND id=2;12.update 更新:UPDATE t_order SET title='苹果手机' WHERE id =2;13.delete 删除:DELETE FROM t_order WHERE id=2;14.like 查询SELECT * FROM t_order WHERE title LIKE '%手机%';SELECT * FROM t_order WHERE title LIKE '_机';14.union 联合查询:连接两个以上的 SELECT 语句合并成一个结果集合SELECT * FROM t_order UNION SELECT * FROM t_user; SELECT * FROM t_order UNION ALL SELECT * FROM t_user;15.order by 排序:升序排序:SELECT * FROM t_order ORDER BY id ASC;降序排序:SELECT * FROM t_order ORDER BY id DESC;16.group by 分组:SELECT title, count(*) as total FROM t_order GROUP BY title;17.join 连接:inner join(内连接) on:获取两个表中字段匹配关系的记录SELECT * FROM t_order o INNER JOIN t_user u ON o.id =u.id;left join(左连接)on:获取左表所有记录,即使右表没有对应匹配的记录SELECT * FROM t_order o LEFT JOIN t_user u ON o.id =u.id;right join(右连接)on:获取右表所有记录,即使左表没有对应匹配的记录SELECT * FROM t_order o RIGHT JOIN t_user u ON o.id =u.id;18.null的处理:null值的判断:SELECT * FROM t_user WHERE name IS NULL;非null值的判断:SELECT * FROM t_user WHERE name IS NOT NULL;19.REGEXP 正则表达式:SELECT * FROM t_order WHERE title REGEXP('手机$'); SELECT * FROM t_order WHERE title REGEXP('^笔');。
mysql查询语句大全及用法

mysql查询语句大全及用法MySQL是一种常用的关系型数据库管理系统,提供了强大的查询语言(SQL)来操作和管理数据库。
下面是一些常见的MySQL查询语句及其用法:1. SELECT语句:-用法:用于从数据库中检索数据。
-示例:SELECT * FROM 表名;(检索表中的所有数据)SELECT 列1, 列2 FROM 表名WHERE 条件;(根据条件检索指定列的数据)2. INSERT语句:-用法:用于向数据库中插入新的数据。
-示例:INSERT INTO 表名(列1, 列2) VALUES (值1, 值2);(向表中插入指定列的数据)3. UPDATE语句:-用法:用于更新数据库中的数据。
-示例:UPDATE 表名SET 列1 = 值1, 列2 = 值2 WHERE 条件;(根据条件更新指定列的数据)4. DELETE语句:-用法:用于从数据库中删除数据。
-示例:DELETE FROM 表名WHERE 条件;(根据条件删除数据)5. WHERE子句:-用法:用于在SELECT、UPDATE和DELETE语句中指定条件。
-示例:SELECT * FROM 表名WHERE 列= 值;(根据条件检索数据)6. ORDER BY子句:-用法:用于对结果进行排序。
-示例:SELECT * FROM 表名ORDER BY 列ASC/DESC;(根据指定列的升序或降序排序数据)7. GROUP BY子句:-用法:用于将结果分组。
-示例:SELECT 列, COUNT(*) FROM 表名GROUP BY 列;(根据指定列对数据进行分组并计数)8. JOIN语句:-用法:用于在多个表之间建立连接。
-示例:SELECT * FROM 表1 JOIN 表2 ON 表1.列= 表2.列;(根据指定列在两个表之间建立连接)9. DISTINCT关键字:-用法:用于返回唯一的结果。
-示例:SELECT DISTINCT 列FROM 表名;(返回指定列的唯一结果)10. LIMIT关键字:-用法:用于限制结果集的行数。
mysql必背50条语句

mysql必背50条语句1. 创建数据库:```sqlCREATE DATABASE dbname;```2. 删除数据库:```sqlDROP DATABASE dbname;```3. 选择数据库:```sqlUSE dbname;```4. 显示所有数据库:```sqlSHOW DATABASES;```5. 创建表:```sqlCREATE TABLE tablename (column1 datatype,column2 datatype,...);```6. 查看表结构:```sqlDESC tablename;```7. 删除表:```sqlDROP TABLE tablename;```8. 插入数据:```sqlINSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);```9. 查询数据:```sqlSELECT * FROM tablename;```10. 条件查询:```sqlSELECT * FROM tablename WHERE condition;```11. 更新数据:```sqlUPDATE tablename SET column1 = value1, column2 = value2 WHERE condition;```12. 删除数据:```sqlDELETE FROM tablename WHERE condition;```13. 查找唯一值:```sqlSELECT DISTINCT column FROM tablename;```14. 排序数据:```sqlSELECT * FROM tablename ORDER BY column ASC/DESC;```15. 限制结果集:```sqlSELECT * FROM tablename LIMIT 10;```16. 分页查询:```sqlSELECT * FROM tablename LIMIT 10 OFFSET 20;```17. 计算行数:```sqlSELECT COUNT(*) FROM tablename;```18. 聚合函数:```sqlSELECT AVG(column), SUM(column), MIN(column), MAX(column) FROM tablename;```19. 连接表:```sqlSELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;```20. 创建索引:```sqlCREATE INDEX indexname ON tablename (column);```21. 查看索引:```sqlSHOW INDEX FROM tablename;```22. 删除索引:```sqlDROP INDEX indexname ON tablename;```23. 备份整个数据库:```sqlmysqldump -u username -p dbname > backup.sql;```24. 恢复数据库:```sqlmysql -u username -p dbname < backup.sql;```25. 修改表结构:```sqlALTER TABLE tablename ADD COLUMN newcolumn datatype;```26. 重命名表:```sqlRENAME TABLE oldname TO newname;```27. 增加主键:```sqlALTER TABLE tablename ADD PRIMARY KEY (column);```28. 删除主键:```sqlALTER TABLE tablename DROP PRIMARY KEY;```29. 增加外键:```sqlALTER TABLE tablename ADD CONSTRAINT fk_name FOREIGN KEY (column) REFERENCES othertable(column);```30. 删除外键:```sqlALTER TABLE tablename DROP FOREIGN KEY fk_name;```31. 查看活动进程:```sqlSHOW PROCESSLIST;```32. 杀死进程:```sqlKILL process_id;```33. 给用户授权:```sqlGRANT permission ON dbname.tablename TO 'username'@'host';```34. 撤销用户权限:```sqlREVOKE permission ON dbname.tablename FROM 'username'@'host';```35. 创建用户:```sqlCREATE USER 'username'@'host' IDENTIFIED BY 'password';```36. 删除用户:```sqlDROP USER 'username'@'host';```37. 修改用户密码:```sqlSET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');```38. 查看用户权限:```sqlSHOW GRANTS FOR 'username'@'host';```39. 启用外键约束:```sqlSET foreign_key_checks = 1;```40. 禁用外键约束:```sqlSET foreign_key_checks = 0;```41. 启用查询缓存:```sqlSET query_cache_type = 1;```42. 禁用查询缓存:```sqlSET query_cache_type = 0;```43. 查看服务器版本:```sqlSELECT VERSION();```44. 查看当前日期和时间:```sqlSELECT NOW();```45. 查找匹配模式:```sqlSELECT * FROM tablename WHERE column LIKE 'pattern';```46. 计算平均值:```sqlSELECT AVG(column) FROM tablename;```47. 查找空值:```sqlSELECT * FROM tablename WHERE column IS NULL;```48. 日期比较:```sqlSELECT * FROM tablename WHERE date_column > '2022-01-01';```49. 将结果导出为CSV 文件:```sqlSELECT * INTO OUTFILE 'output.csv' FIELDS TERMINATED BY ',' FROM tablename;```50. 将结果导入其他表:```sqlLOAD DATA INFILE 'input.csv' INTO TABLE tablename FIELDS TERMINATED BY ',';。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一部分数据库基本操作命令语句标准的SQL语句:select*from表名;数据库创建语句:creat database test;数据库登陆语句:mysql-h主机IP-u用户名-p密码例如:远程登陆:mysql-h131.17.99.43-uroot-p12345ok;本机登陆:mysql-uroot-p12345ok;省略了主机ip地址查看当前mysql所有数据库show databases;使用某数据库use test;显示连接后的数据库的所有表show tables;查看连接了的数据库的某表里面的记录select*from person;Select id,password from person;查看表的结构:describe admin;数据库结构图:第二部分数据库常见操作1删除数据库drop database xue_xiao;2创建一个数据库create database xue_xiao;3显示所有数据库show databases;4创建一个简单的表(注意:先一定要使用某一个数据库,语句:use xue_xiao;)create table xue_sheng(name varchar(50));5查看正在使用的数据库的所有表show tables;6查看正在使用的数据库的某一个表结构:describe xue_sheng;或desc xue_sheng(常用);7在某张表中增加一个字段:alter table xue_sheng add nian_ling int;查看表结构desc xue_sheng;8删除表的一个字段alter table xue_sheng drop nian_ling;9在表中插入一条记录insert into xue_sheng value("Li Ming"');10在表中插入中文字符insert into xue_sheng value('李明')11删除一个表drop table xue_sheng;12删除一个数据库drop database xue_xiao;13创建一个指定字符编码的数据库,即在创建数据库的时候指定编码(建议使用:UTF-8)create database xue_xiao character set utf8collate utf8_general_ci;注意:由于在创建数据库的使用指定了字符编码,所以在插入中文字符时,可以不用指定字符编码14查看一个表的记录select*from user;或select user_id,user_name,user_password from user;第三部分数据记录的基本操作1创建一个完整的表Create table xue_sheng(id int,xing_ming varchar(50),fen_shu int,xing_bie char(2));注意:int型默认长度为11,在创建时可以不指定,使用默认长度;创建时如果不指定,默认可以为空2往表中插入一条记录Insert into xue_sheng values(1,'张三',90,'男');查看表中的所有记录Select*from xue_sheng;3查询表中的某一个字段Select xing_ming from xue_sheng;4模糊查询like'%关键字%'查询姓李的所有记录Select*from xue_sheng where xing_ming like'李%';5多条件查询Select*from xue_sheng where xing_ming like'李%'and xing_bie='女';6进行排序查询Order by字段名desc(降序)或者asc(默认升序);Select*from xue_sheng order by fen_shu desc;Select*from xue_sheng order by fen_shu asc;7分页查询Select*from xue_sheng limit1,2;(从第1条开始(不包括第一条),查询2条记录)8更新指定记录Update xue_sheng set xing_bie='男'where id=3;9删除指定记录Delete from xue_sheng where id=2;注意:不指定删除条件,则删除所有记录第四部分常用函数和分组查询,表连接,嵌套查询1查询总成绩Select sum(fen_shu)from xue_sheng;2求最大数Select max(fen_shu)from xue_sheng;3求最小数Select min(fen_shu)from xue_sheng;4求平均数Select avg(fen_shu)from xue_sheng;5统计一个表有多少记录(求和)Select count(*)from xue_sheng;6分组查询Select xing_bie,sum(fen_shu)from xue_sheng group by xing_bie;7同时查询两张表Select xing_ming,ban_ming from xue_sheng,,ban_ji;8别名的使用Select xing_ming,ban_ming from xue_sheng x,ban_ji b where x.bj_id=b.id;9表连接查询select xing_ming,ban_ming from xue_sheng x join ban_ji b on x.bj_id=b.id;10子查询(嵌套查询)in()或者not in查询一年级1班的所有的学生信息select*from xue_sheng where bj_id in(select id from ban_ji where ban_ming='年级(1)班');Select id from ban_ji where ban_ming='一年级(1)班';的结果为1 Select*from xue_sheng where bj_id in(1);第五部分主键(primary key)外键(foreign key)1在建立表的时候,建立一个自动增长的id作为主键Drop table xue_sheng;[注意:删除表和删除记录的语句不一样]Create table xue_sheng(Id int(20)auto_increment not null primary key,Xing_ming varchar(50),Fen_shu int,Xing_bie char(2),Bj_id int);2插入一条记录Insert into xue_sheng(xing_ming,fen_shu,xing_bie,bj_id)values('张三',90,'男',1);3一次插入多条记录Insert into xue_sheng(xing_ming,fen_shu,xing_bie,bj_id)values('李四',70,'男',2),('李小红',80,'女',1),('陈小明',80,'男',3);4外键,数据参照的完整性,保持数据一致/一张表的外键必须是另一张表的主键Alter table xue_sheng add constraint fk_xue_sheng foreign key(bj_id)references ban_ji(id);5check约束Alter bable xue_sheng add constraint ck_xue_sheng check(xing_bie='男'or xing_bie='女'); Alter table xue_sheng add constraint ck_xue_sheng check(xing_bie in('男','女'));Alter table xue_sheng change xing_ming xing_ming varchar(50)not null;6not null非空Alter table xue_sheng change xing_ming xing_ming varchar(50)not null;7默认值Alter table xue_sheng change xing_bie xing_bie char(2)default'男'not null;第六部分索引index(快速查询)与视图view(安全,方便查询)视图是一个逻辑表,它并不存在硬盘上。
1创建视图Create view v_xue_sheng as select xing_ming,yu_wen+shu_xue from xue_sheng;2访问视图(但是不能删除,插入,更新视图里面的数据) Select*from v_xue_sheng;3修改视图Alter view v_xue_sheng as select xing_ming as姓名,yu_wen+shu_xue as总分from xue_sheng;select*from v_xue_sheng;4删除视图(和删除表是一样的)Drop view v_xue_sheng;5查询两张表的数据6在两张表上建立视图Create view v_xue_sheng as select xing_ming,ban_ming from xue_sheng x,ban_ji b where x.bj=b.id;7两个表上的视图查询8查询当前数据库的表和视图Show tables;9索引index用来快速查找特定值的记录。
加快查询速度创建索引Create index idx_xing_ming on xue_sheng(xing_ming);删除索引Drop index idx_xing_ming on xue_sheng;10建立唯一索引(主键是一种唯一索引) Create unique index idx_xing_ming on xue_sheng(xing_ming);11另一种创建,删除索引的方法Alter table xue_sheng add index idx_xing_ming(xing_ming); Alter table xue_sheng add unique idx_xing_ming(xing_ming); Alter table xue_sheng drop index idx_xing_ming;第七部分存储过程procedure与存储函数function1创建存储过程Delimiter//(//表示结束)delimiter//create procedure simpleproc(out param1int)beginselect sum(yu_wen)into param1from xue_sheng;end//delimiter;2调用存储过程Call simpleproc(@a);Select@a;3带输入,输出参数的存储过程drop procedure if exists simpleproc;delimiter//create procedure simpleproc(IN id int,OUT result1varchar(100))beginselect xing_ming into result1from xue_sheng where xue_sheng.id=id; end//delimiter;call simpleproc(1,@a);select@a;4存储函数里面声明变量和赋值,逻辑判断drop procedure if exists simpleproc;delimiter//create procedure simpleproc(IN in_name varchar(50),OUT result_1varchar(150)) begindeclare temp_1int;declare temp_2int default60;select(yu_wen+shu_xue)/2into temp_1from xue_sheng where xing_ming=in_name;if temp_1>=temp_2thenset result_1='及格';elseset result_1='不及格';end if;end//delimiter;call simpleproc('张三',@a); select@a;call simpleproc('李四',@a); select@a;5存储函数delimiter//create function hello(s char(20))returns intdeterministicbegindeclare temp_sum int;select yu_wen+shu_xue into temp_sum from xue_sheng where xing_ming=s;return temp_sum;end//delimiter;select hello('张三');select hello('李四');第八部分事务transaction与锁定lock 事务的出现,考虑这样的一个经典例子:张三账户转账100元到李四的账户1,张三账户减去100元2,李四账户增加100元1创建数据库create database yin_hang character set utf8collate utf8_general_ci;use yin_hang;create table zhang_hao(id int(20)auto_increment not null primary key,xing_ming varchar(50)not null,jin_e int);insert into zhang_hao(xing_ming,jin_e)values('张三',100),('李四',100);start transaction;update zhang_hao set jin_e=0where xing_ming='张三'; rollback;commit;2回滚到自定义点start transaction;update zhang_hao set jin_e=0where xing_ming='张三'; update zhang_hao set jin_e=200where xing_ming='李四'; savepoint s1;update zhang_hao set jin_e=250where xing_ming='李四'; rollback to s1;commit;3锁定lock数据库有一个特性,允许多用户访问,就会出现并发性。