MySql增删改查语句(精)
- 格式:doc
- 大小:48.00 KB
- 文档页数:14
MySQL中的批量删除和批量修改的实现技巧MySQL是一款非常流行的关系型数据库管理系统,广泛应用于各种规模的互联网和企业级应用中。
在日常开发中,我们经常会遇到需要删除或修改大量数据的情况。
为了提高效率和性能,MySQL提供了一些批量删除和批量修改的实现技巧。
本文将探讨这些技巧,并提供一些实战案例。
一、批量删除1.使用DELETE FROM语句DELETE FROM语句是MySQL中用于删除数据的关键字。
它可以与WHERE子句结合使用,以指定要删除的条件。
要批量删除数据,我们可以使用IN或者BETWEEN关键字,如下所示:```DELETE FROM table_name WHERE column_name IN (value1, value2, ...);DELETE FROM table_name WHERE column_name BETWEEN value1 ANDvalue2;```这样,我们就可以同时删除多个满足条件的数据。
在实际应用中,可以根据具体需求来使用这两种方式。
2.使用LIMIT子句LIMIT子句是MySQL中用于限制结果集返回行数的关键字。
它可以与DELETE语句结合使用,以控制每次删除的数据量。
例如,我们可以设置每次最多删除1000条数据:```DELETE FROM table_name WHERE condition LIMIT 1000;```通过使用LIMIT子句,可以将大批量删除操作切分成多次小批量操作,以减轻数据库负载和提高删除效率。
二、批量修改1.使用UPDATE语句UPDATE语句是MySQL中用于修改数据的关键字。
它可以与WHERE子句结合使用,以指定要修改的条件。
要批量修改数据,我们可以使用IN或者BETWEEN关键字,类似于批量删除的方式:```UPDATE table_name SET column_name = value WHERE column_name IN (value1, value2, ...);UPDATE table_name SET column_name = value WHERE column_name BETWEEN value1 AND value2;```通过使用UPDATE语句,我们可以同时修改多个符合条件的数据。
MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解本篇文章是对MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下MySQL数据库insert和update语句引:用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。
言外之意,就是对数据进行修改。
在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。
用于操作数据库的SQL一般分为两种,一种是查询语句,也就是我们所说的SELECT语句,另外一种就是更新语句,也叫做数据操作语句。
言外之意,就是对数据进行修改。
在标准的SQL中有3个语句,它们是INSERT、UPDATE以及DELETE。
在MySQL中又多了一个REPLACE 语句,因此,本文以MySQL为背景来讨论如何使有SQL中的更新语句。
一、INSERT和REPLACEINSERT和REPLACE语句的功能都是向表中插入新的数据。
这两条语句的语法类似。
它们的主要区别是如何处理重复的数据。
1. INSERT的一般用法MySQL中的INSERT语句和标准的INSERT不太一样,在标准的SQL语句中,一次插入一条记录的INSERT语句只有一种形式。
INSERT INTO tablename(列名…) VALUES(列值);而在MySQL中还有另外一种形式。
INSERT INTO tablename SET column_name1 = value1, column_name2 = value2,…;第一种方法将列名和列值分开了,在使用时,列名必须和列值的数一致。
如下面的语句向users表中插入了一条记录:INSERT INTO users(id, name, age) VALUES(123, '姚明', 25);第二种方法允许列名和列值成对出现和使用,如下面的语句将产生中样的效果。
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('^笔');。
数据库增删改查语句
1、数据库增删改查
(1) 增
数据库增加操作是指对数据库中的数据进行添加操作,一般来说,可以增加新的表格、字段、记录等,从而完成增加的操作。
(2) 删
在数据库中,删除指的是删除某一无关紧要的内容,它的操作主要是清除某个表格中的不需要的列、行、字段残留、重复的记录无用的索引等,只要删除即可。
(3) 改
数据库修改操作是指对某一已有数据进行修改或更新,一般情况下,可以通过改变原有的列、表格、记录、条件,修改相关的内容,以达到改变其他数据内容和更新整个数据库的目的。
(4) 查
数据库查询操作是通过特定的查询条件,从数据库中搜索出相应的数据,它的查询方式包括广义查询、等值查询、区间查询、全文查询、渐进式查询等,为数据开发提供精确的搜索结果。
MySQL的增删改查操作详解MySQL是一种常用的关系型数据库管理系统,广泛应用于各种规模的应用程序中。
在开发和管理数据库时,最常用的操作就是增删改查(CRUD)操作。
本文将详细介绍MySQL中的增删改查操作,包括其语法和用法。
一、增加数据(Insert)在MySQL中,插入数据可通过INSERT INTO语句来实现。
INSERT INTO语句的基本语法如下:```sqlINSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);```其中,table_name为要插入数据的表名,column1、column2为要插入数据的列名,value1、value2为要插入的具体数值。
实际应用中,我们可以插入一行或多行数据。
例如,要向名为"users"的表中插入一行数据,列名为"name"和"age",具体数值为"John Doe"和"25",可以采用以下语句:```sqlINSERT INTO users (name, age)VALUES ('John Doe', 25);```如果要插入多行数据,只需像插入一行数据那样写多个INSERT INTO语句即可。
二、删除数据(Delete)在MySQL中,删除数据可通过DELETE FROM语句来实现。
DELETE FROM 语句的基本语法如下:```sqlDELETE FROM table_nameWHERE condition;```其中,table_name为要删除数据的表名,condition为要删除数据的条件。
例如,要从名为"users"的表中删除所有年龄小于等于30的数据,可以采用以下语句:```sqlDELETE FROM usersWHERE age <= 30;```如果不指定任何条件,则会删除该表中所有数据。
常用sql语句增删改查SQL(Structured Query Language)是一种用于管理关系型数据库的语言。
在数据库操作中,常用的SQL语句包括增加(INSERT)、删除(DELETE)、修改(UPDATE)和查询(SELECT)等。
本文将介绍这些常用的SQL语句及其用法。
一、增加(INSERT)INSERT语句用于向数据库中插入新的数据记录。
其基本语法如下:INSERT INTO 表名 (列1, 列2, 列3, ...) VALUES (值1, 值2, 值3, ...);例如,我们有一个名为“学生表”的表格,包含学生的学号、姓名和年龄等信息。
要向该表中插入一条新的学生记录,可以使用以下SQL语句:INSERT INTO 学生表 (学号, 姓名, 年龄) VALUES ('001', '张三', 18);这样就向“学生表”中插入了一条学号为“001”,姓名为“张三”,年龄为18的学生记录。
二、删除(DELETE)DELETE语句用于从数据库中删除数据记录。
其基本语法如下:DELETE FROM 表名 WHERE 条件;例如,我们要从“学生表”中删除学号为“001”的学生记录,可以使用以下SQL语句:DELETE FROM 学生表 WHERE 学号 = '001';这样就删除了学号为“001”的学生记录。
三、修改(UPDATE)UPDATE语句用于修改数据库中的数据记录。
其基本语法如下:UPDATE 表名 SET 列1 = 值1, 列2 = 值2, ... WHERE 条件;例如,我们要将“学生表”中学号为“001”的学生的年龄修改为20岁,可以使用以下SQL语句:UPDATE 学生表 SET 年龄 = 20 WHERE 学号 = '001';这样就将学号为“001”的学生的年龄修改为20岁。
四、查询(SELECT)SELECT语句用于从数据库中查询数据记录。
SQL语句,数据库增加、删除、修改、查询1. 查询表中的全部数据select * from table;2. 查询某⼏列数据select column1, column2 from table;3. 查询某⼀列不同值select distinct column from table;4. 过滤筛选根据某⼀列的值查询select * from table1 where colume1='XXX';范围查找select * from table1 where colume1 > 2000 and colume1 < 3000;满⾜不包含条件的值select * from table1 where not colume1 > 1500;空值判断 is nullselect * from table1 where colume1 is null;between and(包含上下限)select * from table where colume between 1500 and 3000;In 查询列中等于某⼀项的值select * from table1 where colume1 in (100,200,500);模糊查询select * from table1 where colume1 like 'M%';#M 为要查询内容中的模糊信息。
#% 表⽰多个字值,_ 下划线表⽰⼀个字符;#M% : 为能配符,正则表达式,表⽰的意思为模糊查询信息为 M 开头的。
#%M% : 表⽰查询包含M的所有内容。
#%M_ : 表⽰查询以M在倒数第⼆位的所有内容。
5. AND 和 OR如果第⼀个条件和第⼆个条件都成⽴,则 AND 运算符显⽰⼀条记录。
如果第⼀个条件和第⼆个条件中只要有⼀个成⽴,则 OR 运算符显⽰⼀条记录。
6. ORDER BYORDER BY 关键字默认按照升序对记录进⾏排序。
数据库之数据的增删改查语句⼤全--添加数据--添加单条insert into表名(字段名1,字段名2) values (值1,值2)--添加多条insert into表名(字段名1,字段名2) values (值1,值2),(值1,值2),(值1,值2)--使⽤update更新语句,修改数据update表名set字段名=新值,字段名2=新值2update student set ccredit=2where cno='co1'--删除数据--删除表中所有数据delete from表名delete from表名where条件--删除前20%的数据delete top(20) present from sc--数据查询--查询全部数据select*from表名select字段1,字段2 from表名--给列取别名select sname as姓名from student--限制结果集的⾏数,指定取出多少⾏select top5 sname,ssex from student --取出前5⾏数据--消除重复的列 ,多个相同的课程号列只取⼀个select distinct sno from sc--条件查询-- > < = != not--查找年龄⼩于20学⽣的学号select sno from student where sage<20--范围查询 between and 和 not between and--查找年龄在20到50之间学⽣select*from student where sage between20and50--in 确定集合,属于集合的元组select*from student where sdept in ('信息系','计算机系','数学系')--模糊查询 like-- _ 匹配任意⼀个字符,-- %匹配0个多个字符,-- []匹配【】中的任意⼀个字符,-- [^]不匹配他中的任意⼀个字符--查询姓张的学⽣select*from student where sname like'张%'--查询第⼆个字为⼤或⼩的⼈select*from student where sname like'_[⼤⼩]%'--查询最后⼀位不是 1 ,2的学⽣select*from student where sno like'%[^12]'--数据排序 order by 默认是升序(上⾯⼩,下⾯打)select*from student order by gkfs--降序排列select*from student order by gkfs desc--聚合函数,进⾏计算--1. 查询各个系男⼥学⽣⼈数,⾼考分数平均分,⾼考分数最⾼分,⾼考分数最低分,-- 显⽰系,性别,⼈数,⾼考分数平均分,⾼考分数最⾼分,⾼考分数最低分。
MySQL数据库增删改查SQL语句(2018整理集合⼤全)查看数据库show databases;使⽤数据库use 数据库名;创建数据库CREATE DATABASE 数据库名;删除数据库DROP DATABASE 数据库名;创建表create table 表名(列名1 类型(长度) [约束],列名2 类型(长度) [约束],……);长度区别int类型带长度:不影响存取值,即使设定的值超出了长度的范畴,也能存,如果没有达到设定的长度,则使⽤空格⾃动填充到设定的长度char类型:不可变字符,设定的长度就是规定当前字段能存的数据的最⼤长度,若超出长度,则会报错,若没有达到长度,使⽤空格填充到设定的长度varchar:可变字符,设定的长度同样是规定当前字段能存的数据的最⼤长度,若超出长度,则会报错,若没有达到长度,不会使⽤空格填充,实际多长就是多长删除表DROP TABLE 表名;表约束1.⾮空约束 NOT NULL2.默认值约束 DEFAULT '男'3.唯⼀约束 UNIQUE4.主键约束 PRIMARY KEY查看表结构DESC 表名修改表修改列名Alter table 表名 change 列名新列名类型;修改列类型Alter table 表名 change 列名列名新类型;修改列类型Alter table 表名 modify 列名新类型;数据查询-单表===查询表中全部信息select * from 表名;查询表中指定列的信息select 列1,列2 from 表名;语句的执⾏顺序:from—>select数据去重select distinct 列…. From 表名;拼接结果select concat(列1,列2) from 表名;运算符优先级:1.乘法和除法的优先级⾼于加法和减法2.同级运算的顺序是从左到右3.表达式中使⽤"括号"可强⾏改变优先级的运算顺序select 列1[+-*/]列2 from 表名;设置别名(注意:关键字as可以省略)select 列 as 别名 from 表名;select 列别名 from 表名;语句的执⾏顺序:from—>select条件查询select 列… from 表名 where 条件;条件中⽐较运算符:( 等于:= ⼤于:> ⼤于等于:>= ⼩于:< ⼩于等于:<= 不等于:!= 或 <> )where 列⽐较运算符值;注意:字符串、⽇期需使⽤单引号括起来语句的执⾏顺序:from—>where—>select逻辑运算符( 并且:and 或 && 或:or ⾮:not 或 ! )where 条件1 逻辑运算符条件2;where not 条件;范围查询where 列 between 条件1 and 条件2; //列在这个区间的值where 列 not between 条件1 and 条件2; //不在这个区间where !( 列 between 条件1 and 条件2 ); //同样表⽰不在这个区间集合查询( 判断列的值是否在指定的集合中 )where 列 in(值1,值2); //列中的数据是in后的值⾥⾯的where 列 not in(值1,值2); //不是in中指定值的数据NULL值查询( 注意:列中值为null不能使⽤=去查询 )where 列 is null; //查询列中值为null的数据模糊查询%:表⽰0到多个字符,⽰例:where 列 like '%0'; //表⽰以0结尾where 列 like '0%'; //表⽰以0开头where 列 like '%0%'; //表⽰数据中包含0_:表⽰⼀个字符,可多次使⽤,⽰例:where 列 like '%0_'; //数据结尾第⼆位是0结果排序( 对查询出的结果按照⼀列或多列进⾏升序还是降序排列升序:asc 降序:desc 注意:不能使⽤中⽂的别名排序) where 条件 order by 列 [asc/desc]语句的执⾏顺序:from—>where—>select—>order by分页查询( beginIndex:表⽰从第多少条数据开始 pageSize:表⽰每页显⽰的数据条数 )where [条件] limit beginIndex,pageSize;ex:每页显⽰3条数据第⼀页: SELECT * FROM 表名 LIMIT 0,3 --0,1,2第⼆页: SELECT * FROM 表名 LIMIT 3,3 --3,4,5第三页: SELECT * FROM 表名 LIMIT 6,3 --6,7,8第四页: SELECT * FROM 表名 LIMIT 9,3 --9,10,11……第七页: SELECT * FROM 表名 LIMIT 18,3 --18,19,20beginIndex公式:(当前页数-1)*pageSize聚集函数( 作⽤于⼀组数据,并对⼀组数据返回⼀个值 )COUNT:统计结果记录数,若统计的是列,列中为Null,那么count将不会计算值MAX: 统计计算最⼤值MIN: 统计计算最⼩值SUM: 统计计算求和AVG: 统计计算平均值分组函数( 注意:如果要对分组后的数据进⾏筛选,那么必须使⽤having关键字,条件写在having后 )select 聚集函数 from 表名 where [条件] group by 列 having 分组后的条件语句的执⾏顺序:FROM—> WHERE—>group by---->Having—>SELECT-->ORDER BYWhere和having的区别:Where: 先过滤已有的数据(数据是已经存在的),在进⾏分组,在聚集计算Having:先分组,在对每组进⾏计算,根据得到结果在过滤(分组把数据算出之后,在过滤)注意:使⽤having的时候,它是可以使⽤别名的=数据查询-多表=交叉连接:⼜名笛卡尔积,使⽤交叉连接会产⽣笛卡尔积假设集合A={a, b},集合B={0, 1, 2},则两个集合的笛卡尔积为{(a, 0), (a, 1), (a, 2), (b, 0), (b, 1), (b, 2)}。
02.连接命令:mysql -h[主机地址] -u[用户名] -p[用户密码] 03.创建数据库:create database [库名] 04.显示所有数据库: show databases; 05.打开数据库:use [库名] 06.当前选择的库状态:SELECT DATABASE(; 07.创建数据表:CREATE TABLE [表名]([字段名] [字段类型]([字段要求] [字段参数], ......; 08.显示数据表字段:describe 表名; 09.当前库数据表结构:show tables; 10.更改表格 11. ALTER TABLE [表名] ADD COLUMN [字段名] DATATYPE 12. 说明:增加一个栏位(没有删除某个栏位的语法。
13. ALTER TABLE [表名] ADD PRIMARY KEY ([字段名] 14. 说明:更改表得的定义把某个栏位设为主键。
15. ALTER TABLE [表名] DROP PRIMARY KEY ([字段名] 16. 说明:把主键的定义删除。
17.显示当前表字段:show columns from tablename; 18.删库:drop database [库名]; 19.删表:drop table [表名]; 20.数据操作 21.添加:INSERT INTO [表名] VALUES('','',......顺序排列的数据; 22.查询: SELECT * FROM [表名] WHERE ([条件]; 23.建立索引:CREATE INDEX [索引文件名] ON [表名] ([字段名]; 24.删除:DELETE FROM [表名] WHERE ([条件]; 25.修改:UPDATE [表名] SET [修改内容如name = 'Mary'] WHERE [条件]; 26. 27.导入外部数据文本: 28.1.执行外部的sql脚本 29.当前数据库上执行:mysql < input.sql 30.指定数据库上执行:mysql [表名] < input.sql 31.2.数据传入命令 load data local infile "[文件名]" into table [表名]; 32.备份数据库:(dos下 33.mysqldump --optschool>school.bbb 34. 35. 36. 37.提示:常用MySQL命令以";"结束,有少量特殊命令不能加";"结束,如备份数据库 38.一. 增删改查操作 39.40.============================================================= ==================== 41.1. 增: 42.insert into 表名 values(0,'测试'; 43.注:如上语句,表结构中有自动增长的列,也必须为其指定一个值,通常为0 44.insert into 表名(id,name values(0,'尹当'--同上 45.2.删数据: 46.delete from 表名; 47.delete from 表名where id=1; 48.删除结构: 49.删数据库:drop database 数据库名; 50.删除表:drop table 表名; 51.删除表中的列:alter table 表名 drop column 列名; 52.3. 改: 53.修改所有:updata 表名 set 列名='新的值,非数字加单引号' ; 54.带条件的修改:updata 表名 set 列名='新的值,非数字加单引号' where id=6; 55.4.查: 56.查询所有的数据:select *from 表名; 57.带条件的查询: 58.select *from 表名 where 列名=条件值;59.Select * from 表名 where 列名 not like(like) '字符值' 60.分页查询:select *from 表名 limit 每页数量 offset 偏移量; 61. 62. 63. 64.二.操作命令65.66.============================================================= ==================== 67.1. 查看数据库信息:show databases; 68.2.查看表信息:show tables; 69.3.查看表的结构:desc 表名 70.4. 新建数据库:create database 数据库名; 71.5.操作指定数据库:use 数据库名; 72.6.新建数据表(先use 操作库;73.create table 表名(规范为tbl_表名 74.( 75.id int auto_increment primarykey,( auto_increment为自动增长 varchar(20 primary key77.ENGINE=InnoDB DEFAULT CHARSET=gbk//支持事务和设置表的编码 78.6.2添加主外键: 79.alter table 外表名 add constraint FK_名称 foreign key(外列 references 主表名(主列 80.如现有两表主表tbl_order 子表tbl_orderdetail 现子表tbl_orderdetail 的oid列引用了主表tbl_order的oid列 81.则命令如下: 82.alter table tbl_orderdetail add constraint FK_oid foreign key(oid references tbl_order(oid 83.7.导出表,备份到一个文件中,如.txt,.doc 84.cmd命令窗口:mysqldump -u 用户名 -p 需要备份的数据库名 >备份的文件的保存路径和文件名 85.注:如指定的文件不存在,mysql会自动添加一个文件,此命令不能加分号结尾(文件没有备份建数据库操作) 86.8.导入数据库备份文件: 87.(1.在mysql命令窗口 88.(2.新建一个要导入的数据库(因为备份中没有备份建数据库操作 89.(e 当前库名 90.(4.source 备份的文件的保存路径和文件名(此命令不能加分号结尾 91. 92. 93.三:系统操作 94.95.============================================================= ==================== 96.1. 打开服务:net start mysql(mysql为配置时,可自定名称 97.2.关闭服务:net stop mysql 98.3.从cmd 模式进入mysql 99.(1.mysql -u 用户名 -p 回车>输入正确密码>进入欢迎 100.(2.mysql -h IP(本机localhost -u 用户名 -p 回车>输入正确密码>进入欢迎 101.3.退出:exit/quit; 102.4.修改用户密码:mysqladmin -u 用户名 -p password 新密码 103.5.处理中文乱码: 104.(1.在D:\MySQL \MySQL Server 5.0\data的操作数据为文件中查看是否为以下: 105.default-character-set=gbk 106.default-collation=gbk_chinese_ci 107. 108.(2.查看安装文件默认编码:D:\MySQL\MySQL Server 5.0>my>default-character-set=gbk 109.110.============================================================ ===================== 111. 112. 113.启动:net start mySql; 114.进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 115.列出数据库:show databases; 116.选择数据库:use databaseName; 117.列出表格:show tables; 118.显示表格列的属性:show columns from tableName; 119.建立数据库:source fileName.txt; 120.匹配字符:可以用通配符_代表任何一个字符,%代表任何字符串; 121.增加一个字段:alter table tabelName add column fieldName dateType; 122.增加多个字段:alter table tabelName add column fieldName1 dateType,add columns fieldName2 dateType; 123.多行命令输入:注意不能将单词断开;当插入或更改数据时,不能将字段的字符串展开到多行里,否则硬回车将被储存到数据中; 124.增加一个管理员帐户:grant all on *.* to user@localhost identified by "password"; 125.每条语句输入完毕后要在末尾填加分号';',或者填加'\g'也可以; 126.查询时间:select now(; 127.查询当前用户:select user(; 128.查询数据库版本:select version(; 129.查询当前使用的数据库:select database(; 130. 131.1、删除student_course数据库中的students数据表: 132.rm -f student_course/students.* 133. 134.2、备份数据库:(将数据库test备份135.mysqldump -u root -p test>c:\test.txt 136.备份表格:(备份test数据库下的mytable表格 137.mysqldump -u root -p test mytable>c:\test.txt 138.将备份数据导入到数据库:(导回test数据库 139.mysql -u root -p test 140. 141.3、创建临时表:(建立临时表zengchao 142.create temporary table zengchao(name varchar(10; 143. 144.4、创建表是先判断表是否存在145.create table if not exists students(……; 146. 147.5、从已经有的表中复制表的结构 148.create table table2 select * from table1 where 1<>1; 149. 150.6、复制表 151.create table table2 select * from table1; 152. 153.7、对表重新命名 154.alter table table1 rename as table2; 155. 156.8、修改列的类型 157.alter table table1 modify id int unsigned;//修改列id的类型为int unsigned 158.alter table table1 change id sid int unsigned;//修改列id的名字为sid,而且把属性修改为int unsigned 159. 160.9、创建索引 161.alter table table1 add index ind_id (id; 162.create indexind_id on table1 (id; 163.create unique index ind_id on table1 (id;//建立唯一性索引 164. 165.10、删除索引 166.drop index idx_id on table1; 167.alter table table1 drop index ind_id; 168. 169.11、联合字符或者多个列(将列id与":"和列name和"="连接170.select concat(id,':',name,'=' from students; 171. 172.12、limit(选出10到20条<第一个记录集的编号是0> 173.select * from students order by id limit 9,10; 174.175.13、MySQL不支持的功能 176.事务,视图,外键和引用完整性,存储过程和触发器 177. 178. 179.14、MySQL会使用索引的操作符号180.<,<=,>=,>,=,between,in,不带%或者_开头的like 181. 182.15、使用索引的缺点183.1减慢增删改数据的速度; 184.2)占用磁盘空间; 185.3)增加查询优化器的负担; 186.当查询优化器生成执行计划时,会考虑索引,太多的索引会给查询优化器增加工作量,导致无法选择最优的查询方案; 187. 188.16、分析索引效率 189.方法:在一般的SQL语句前加上explain; 190.分析结果的含义:191.1)table:表名; 192.2)type:连接的类型,(ALL/Range/Ref。