常用MySQL语句大全
mysql数据库常用语句大全

mysql数据库常用语句SQL分类:DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE)DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT)DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK)首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name2、说明:删除数据库drop database dbname3、说明:备份sql server--- 创建备份数据的deviceUSE masterEXEC sp_addumpdevice ’disk’, ’testBack’, ’c:mssql7backupMyNwind_1.dat’--- 开始备份BACKUP DATABASE pubs TO testBack4、说明:创建新表create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)根据已有的表创建新表:A:create table tab_new like tab_old (使用旧表创建新表)B:create table tab_new as select col1,col2… from tab_old definition only5、说明:删除新表:drop table tabname6、说明:增加一个列:Alter table tabname add column col type注:列增加后将不能删除。
DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar 类型的长度。
7、说明:添加主键:Alter table tabname add primary key(col)说明:删除主键:Alter table tabname drop primary key(col)8、说明:创建索引:create [unique] index idxname on tabname(col….)删除索引:drop index idxname注:索引是不可更改的,想更改必须删除重新建。
常用的mysql语句

常用的mysql语句一、创建表的语句1. 创建一个名为student的表,包含id、name、age三个字段,其中id为主键,自增长:CREATE TABLE student(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),age INT);2. 创建一个名为teacher的表,包含id、name、salary三个字段,其中id为主键,自增长:CREATE TABLE teacher(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),salary INT);3. 创建一个名为course的表,包含id、name、teacher_id三个字段,其中id为主键,自增长,teacher_id为外键,参考teacher 表的id字段:CREATE TABLE course(id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(20),teacher_id INT,FOREIGN KEY (teacher_id) REFERENCES teacher(id));二、插入数据的语句1. 向student表中插入一条数据,id为1,name为Tom,age为18:INSERT INTO student (id, name, age) VALUES (1, 'Tom', 18);2. 向teacher表中插入一条数据,id为1,name为John,salary 为5000:INSERT INTO teacher (id, name, salary) VALUES (1, 'John', 5000);3. 向course表中插入一条数据,id为1,name为Math,teacher_id为1:INSERT INTO course (id, name, teacher_id) VALUES (1, 'Math', 1);三、查询数据的语句1. 查询student表中所有的数据:SELECT * FROM student;2. 查询teacher表中所有salary大于4000的数据:SELECT * FROM teacher WHERE salary > 4000;3. 查询course表中所有的数据,同时查询出对应的教师姓名:SELECT course.id, , FROM course INNER JOIN teacher ON course.teacher_id = teacher.id;四、更新数据的语句1. 将student表中id为1的记录的age更新为20:UPDATE student SET age = 20 WHERE id = 1;2. 将teacher表中salary大于4000的记录的salary都增加500:UPDATE teacher SET salary = salary + 500 WHERE salary > 4000;3. 将course表中name为Math的记录的teacher_id改为2:UPDATE course SET teacher_id = 2 WHERE name = 'Math';五、删除数据的语句1. 删除student表中id为1的记录:DELETE FROM student WHERE id = 1;2. 删除teacher表中salary小于4000的记录:DELETE FROM teacher WHERE salary < 4000;3. 删除course表中name为English的记录:DELETE FROM course WHERE name = 'English';六、聚合函数的语句1. 计算student表中age的平均值:SELECT AVG(age) FROM student;2. 计算teacher表中salary的最大值:SELECT MAX(salary) FROM teacher;3. 统计course表中每个教师的课程数量:SELECT , COUNT(*) FROM course INNER JOINteacher ON course.teacher_id = teacher.id GROUP BY ;七、事务处理的语句1. 开启一个事务:START TRANSACTION;2. 执行一系列修改操作:UPDATE student SET age = age + 1 WHERE id = 1;UPDATE teacher SET salary = salary - 1000 WHERE id = 1;3. 提交事务:COMMIT;4. 回滚事务:ROLLBACK;以上就是常用的mysql语句,涵盖了创建表、插入数据、查询数据、更新数据、删除数据、聚合函数和事务处理等方面的操作,可以满足日常开发中的需求。
mysql 分支语句

mysql 分支语句MySQL是一种常用的关系型数据库管理系统,它支持分支语句,用于根据不同的条件执行不同的代码块。
下面列举了十个使用MySQL 分支语句的示例:1. IF语句:IF语句是MySQL中最基本的分支语句,用于根据条件执行不同的代码块。
语法如下:```IF condition THENstatement1;ELSEstatement2;END IF;```其中,condition是一个返回布尔值的表达式。
2. CASE语句:CASE语句用于根据不同的条件执行不同的代码块。
它有两种形式:简单CASE和搜索CASE。
简单CASE语法如下:```CASE expressionWHEN value1 THEN statement1;WHEN value2 THEN statement2;...ELSE statementN;END CASE;```搜索CASE语法如下:```CASEWHEN condition1 THEN statement1;WHEN condition2 THEN statement2;...ELSE statementN;END CASE;```其中,expression是一个表达式,value1、value2等是常量,condition1、condition2等是布尔表达式。
3. IFNULL函数:IFNULL函数用于判断一个表达式是否为NULL,如果是NULL则返回指定的值,否则返回表达式的值。
语法如下:```IFNULL(expression, value);```其中,expression是一个表达式,value是一个常量。
4. NULLIF函数:NULLIF函数用于比较两个表达式的值,如果相等则返回NULL,否则返回第一个表达式的值。
语法如下:```NULLIF(expression1, expression2);```其中,expression1和expression2是两个表达式。
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命令语句大全

show databases; 显示数据库create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 显示具体的表结构select 中加上distinct去除重复字段mysqladmin drop databasename 删除数据库前,有提示。
显示当前mysql版本和当前日期select version(),current_date;修改mysql中root的密码:shell>mysql -h localhost -u root -p //登录mysql> update user set password=password("xueok654123") where user='root';mysql> flush privileges //刷新数据库mysql>use dbname; 打开数据库:mysql>show databases; 显示所有数据库mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后mysql>describe user; 显示表mysql数据库中user表的列信息);grant创建用户firstdb(密码firstdb)和数据库,并赋予权限于firstdb数据库mysql> create database firstdb;mysql> grant all on firstdb.* to firstdb identified by 'firstdb'会自动创建用户firstdbmysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP 地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。
常用的数据库语句

常用的数据库语句1. “SELECT 语句,那可太常用啦!就好比你在茫茫人海中精准找到你想要的那个人一样。
比如说,你想从学生表里找出所有姓张的同学,用它就能轻松搞定啦!”2. “INSERT 语句呀,就像给你的数据库这个大仓库添加新货物一样重要呢!比如你新认识了一个朋友,要把他的信息加到你的通讯录里,这时候就需要它啦!”3. “UPDATE 语句,哇哦,这简直是让数据旧貌换新颜的魔法棒呀!好比你发现自己之前填的信息有误,赶紧用它来改正,让一切变得准确无误!比如把某个同学的电话号码改一下。
”4. “DELETE 语句,嘿,这可是个厉害的角色呢!就像你大扫除时扔掉不需要的东西一样干脆。
要是有个错误的数据,用它一下就删掉啦!”5. “WHERE 子句,这可是筛选的好帮手呀!就像你挑苹果只挑红的甜的一样,能让你得到你真正想要的。
比如你只想看成绩大于 90 分的同学记录。
”6. “ORDER BY 子句,哎呀呀,它能让你的数据排排队呢!像给一群小朋友排队一样整齐。
比如把同学们按成绩高低排个序。
”7. “GROUP BY 子句,这就像是把相似的东西归到一起一样神奇!比如把学生按班级分组统计人数。
”8. “JOIN 操作,哇塞,这可让不同的表联合起来发挥大作用啦!就像几个好朋友手牵手一起做事一样。
比如把学生表和成绩表连接起来看每个学生的具体成绩。
”9. “DISTINCT 关键字,嘿,它能帮你去掉重复的呢!就像把重复的玩具挑出去只留下不一样的。
比如看有哪些不同的课程。
”10. “COUNT 函数,哈哈,它能快速数数呀!就像你数自己有几个糖果一样方便。
比如统计有多少个学生。
”。
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关键字:-用法:用于限制结果集的行数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MySQL服务的配置和使用修改MySQL管理员的口令:mysqladmin –u root password 密码字符串如:mysqldmin –u root password 111111连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p]如:mysql –u root –p如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串如:mysqladmin –u root –p password 111111创建数据库格式为:CREA TE DATABASE 数据库名称;如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中查看数据库是 mysql>show abc;选择数据库是 USE 数据库名称; 如:mysql>use abc;删除数据库是 DROP DA TABASE 数据库名称;如:mysql>drop database abc;数据库的创建和删除创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型];其中字段(1,2 )格式为:字段名字段类型[字段约束]如创建一个表student,如下:mysql>create table student (sno varchar(7) not null, 字段不允许为空sname varchar (20 )not null,ssex char (1) default ‘t’,sbirthday date,sdepa char (20),primary key (sno) 表的主键);可用describe命令查看表的结构。
默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定义文件),student.MDY(数据文件),stedent.MYI(索引文件)。
复制表CREATE TABLE 新表名称LIKE 原表名称;如:mysql>create table xtable like student;删除表DROP TABLE 表名称1[表名称2…];如:mysql> drop table xtale;修改表ALTER TABLE 表名称更改动作1[动作2];动作有ADD(增加) DROP(删除)CHANGE、MODIFY(更改字段名和类型)RENAME增加字段:mysql>alter table student add saddress varchar(25);更改字段名和字段类型:mysql>alter table student change saddress sremark test;即使不更改字段类型也要给出字段类型如:mysql>alter table student change saddress sremark varchar (25);更改字段类型:mysql> alter table student modify sremark varchar(25);删除字段:mysql>alter table student drop sremark;更改表名称:mysql>alter table student rename to xs;表中数据的插入、删除和修改插入记录:INSERT INTO 表名称(字段名1,字段名2…V ALUES(字段1的值,字段2的值如:mysql>insert into student (sno,sname,ssex,sbirthday,sdepa)values(‘0321001’,’Liu Tao’,dagault,19870201,’math’);查看表 mysql>select * from student;插入与前面相同的记录,可用insert命令的缩写格式,如: mysql>insert into student values (‘0321001’, ‘Liu Tao’, default, 19870201, ‘mth’);如果字段名列表中没有给出表中的某些字段,那么这些字段设置为默认值,如:mysql>insert into student (sno,sname,sbirthday)values(‘0321002’,’Wang Jun’,1870112);一个单独的insert语句中可使用多个valuse字句,插入多条记录,如:mysql>insert into student values(‘0322001’, ‘Zhang Liaoyun’, ‘f’ 1971102,’computer’),(‘0322002’, ‘Li Ming’, ‘t’ 1971105,’computer’);删除记录:DELETE FROM 表名称WHERE 条件表达式;如:mysql>delete from student where sno=’0321002’;删除student表中sno字段值前4位为‘0322’的记录如:my sql>delete from student where left (sno,4)=’0322’;删除所以记录,可以不带where字句如:mysql>delete from student;删除所以记录可以用命令truncate 删除表,然后重建表,所以比delete命令快如:mysql>truncate table student;修改记录UPDA TE 表名称SET 字段名1=字段值1WHERE 条件表达式如:mys ql>update student set sbirthday=1920113, sdepa=’math’ where sno=’0321002’;索引的创建与删除在创建表的同时创建索引创建表时,可用INDEX字句或UNIQUE(字段值必须惟一)字句创建索引如:创建课程表course, 课程编号cno字段为主键,课程名称cname字段创建一个名为can 的索引mysql>create table course(cno varchar(5) not null,cname varchar(30) not null,teacher varchar(20),primary key (cno),index can (cname));向已存在的表添加索引 CREATE [UNIQUE ] INDEX 索引名ON表名称(字段名1[(长度)]);如:mysql>create index sna on student (sname);对于类型为CHAR和V ARCHAR的字段建立索引时还可指定长度值,类型为BLOB和TEXT的字段索引时必须指定长度值。
如mysql>create index sna on student (sname(10));删除索引 DROP INDEX 索引ON表名称;如:mysql>drop index sna on student;用户的创建和删除初始化时有5个MySQL授权表,其中host、tables_priv和columnts_priv 是空的,表user 和db决定了MySQL默认的访问规则。
默认有mysql和test两个数据库。
授权表:user 用户从哪些主机可以连接到数据库服务器,以及对所以数据库的访问权限(全局权限)db 用户可以使用哪些权限,以及对数据库执行哪些操作(数据库级权限)host 当表db 中的host 字段值为空时,用户从哪些主机可以连接到数据库服务器。
tables_priv 连接的用户可以访问哪些表(表级权限)columnts_priv 连接的用户可以访问哪些字段(字段级权限)创建新用户以MySQL管理员连接到数据库服务器:#mysql –u root –p创建新用户guess并设置密码,同时可以从任何主机连接数据库服务器:mysql>insert into er (host,user,password)values (‘%’,’gusee’,password(‘guest’));使用password()函数,密码是加密的重载MySQL授权表:mysql>flush privileges;远程客户端连接数据库服务器:#mysql –h 192.168.0.50 –u guess –p 开放服务器的TCP 断口3306查看当前用户可用数据库:show database删除用户mysql>delete from er where user=’guest’;mysql>flush privileges; 重载MySQL授权表更改用户密码如:更改guset密码为123456mysql>update er set password=password(‘123456’)where user =’guset’;mysql>flush privileges;或者是mysql>se t password for guset@’%’=password(‘123456’);用户权限的设置在表user、db和host中,所有字段声明为ENUM(‘N’,’Y’),默认是‘N’;在表tables_priv和columns_priv中,权限字段声明为SET类型修改授权表中的访问权限有两中方法,一是使用INSERT、UPDATE和DELETE等DML 语句,另一中是GRANT和GRVOKE语句使用GRANT语句授权:格式如下:GRANT 权限列表[(字段列表)] on 数据库名称.表名称TO 用户名@域名或IP地址[INDETIFIED BY ‘密码值’] [WITH CRANT OPTION];授权哪个用户能连接,从哪连接如:授权用户guest从任意主机连接数据库服务器,并具有完全访问数据库abc的权限。
Mysql>grant all on abc.* to guset@’%’ identified by ‘guest’注意几点:如指定用户不存在,则创建该新用户;‘权限列表’处ALL表示授予全部权限,USAGE表不授予任何权限。
‘数据库名称.表名称’处可以使用通配符“*”。
如“abc.*”表数据库abc中所有表‘用户名@域名或IP地址’设置谁能连,从哪连。
用户名不能用通配符,但可以用‘ ’空字符串,表任何用户;域名或IP地址可以用通配符“%”,使用是用单引号括起来。