MySQL

您所在的位置:网站首页 mysql删除语法 MySQL

MySQL

2024-07-09 16:07| 来源: 网络整理| 查看: 265

概况

本文把常用的MySQL语句总结在一起,查看起来非常的方便

文章目录 概况一、MySQL数据库操作1.创建数据库CREATE DATABASE2.查看数据库SHOW DATABASES3.选择数据库USE DATABASE4.删除数据库DROP DATABASE 二、MySQL数据表操作1.创建数据表CREATE TABLE2.查看数据表结构SHOW COLUMNS或DESCRIBE4.修改表结构ALTER TABLE5.重命名表RENAME TABLE6.删除表DROP TABLE 三、数据表高级操作1.克隆表2.清空表4.创建临时表 四、MySQL语句操作1.插入记录INSERT2.查询数据库记录SELECT4.删除记录DELETE 五、数据库用户操作1.新建用户USER2.查看用户信息3.重命名用户名4.删除用户5.修改用户密码6.忘记root密码的解决办法

一、MySQL数据库操作 1.创建数据库CREATE DATABASE CREATE DATABASE 数据库名称;

数据库名称命名规则:

不能与其他数据库重名。名称可以由任意字母、阿拉伯数字、下划线(_)和$组成,可以使用上述的字符开头,但不能使用单独的数字。名称最长可64个字符,别名最长256个字符。默认情况下,在Windows平台下数据库名、表名不区分大小写,而Linux下区分大小写,建议全部使用小写构建数据库名和表名。 2.查看数据库SHOW DATABASES SHOW DATABASES; 3.选择数据库USE DATABASE USE 数据库名称; 4.删除数据库DROP DATABASE DROP DATABASE 数据库名称;

删库需谨慎

二、MySQL数据表操作 1.创建数据表CREATE TABLE

快捷创建:

create table table_name (列名1 属性,列名2 属性,...);

示例:

create table db_admin( id int auto_increment primarykey, user varchat(32) not null, password varchar(32) not null, createtime datetime );

详细分析:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] 数据表名[(create_definition,...)] [table_options] [select_statement]

CREATE TABLE语句的参数说明如下:

参数说明TEMPORARY使用该关键字创建一个临时表IF NOT EXISTS用于避免表存在时MySQL报错create_definition表的列属性部分,至少一列table_options表的一些特性参数select_statementSELECT语句描述部分,用它可以快速的创建表

下面是create_definition部分,每一列定义的具体格式:

col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [PRIMARY KEY] [reference_definition]

列属性create_definition参数说明:

参数说明col_name字段名type字段类型NOT NULL | NULL指出该列是否允许是空值DEFAULT default_value默认值AUTO_INCREMENT是否为自动编号,表中只能有一个AUTO_INCREMENT列,并且必须被索引PRIMARY KEY是否为主键,表中只能有一个PRIMARY KEYreference_definition为字段添加注释

PRIMARY KEY:如果一个表中没有PRIMARY KEY,而某些应用程序需要PRIMARY KEY,MySQL将返回第一个没有任何NULL列的UNIQUE键作为PRIMARY KEY。

2.查看数据表结构SHOW COLUMNS或DESCRIBE

2.1 SHOW COLUMNS

SHOW [FULL] COLUMNS FROM 数据表名 [FROM 数据库名]; --或者 SHOW [FULL] COLUMNS FROM 数据库名.数据表名;

2.2 DESCRIBE

DESCRIBE 数据表名称 [列名]; --或者 DESC 数据表名称 [列名]; ## 3.查看键表语句SHOW CREATE TABLE

SHOW CREATE TABLE table_name;

--示例:查看user表的键表语句 show create table user; CREATE TABLE `user` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(32) DEFAULT NULL, PRIMARY KEY (`id`), ) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8; 4.修改表结构ALTER TABLE

通过alter修改表结构必须是表中数据全部删除之后才能进行修改

修改表结构指的是:增加或删除字段、修改字段名称或类型、取消设置主键外键、取消设置索引以及修改表的注释等。语法:

示例

在tb_admin添加一个新的email,类型varchar(50),not null,将字段user的类型由varchar(30) 改为varchar(40)

alter table tb_admin add email varchat(50) not null,modify user varchar(40);

详细讲解

ALTER[IGNORE] TABLE 数据表名 alter_spec[,alter_spec]...

当指定IGNORE时,如果出现重复关键的行,则只执行一行,其他重复的行被删除

其中,alter_spec子句定义要修改的内容:

alter_specification: ADD [COLUM] create_definition [FIRSR | AFTER column_name ] --添加新字段 | ADD INDEX [index_name] (index_col_name,...) --添加索引名称 | ADD PRIMARY KEY (index_col_name,...) --添加主键名称 | ADD UNIQUE [index_name] (index_col_name,...) --添加唯一索引 | ALTER [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT} --修改字段名称 | CHANGE [COLUMN] old_col_name create_definition --修改字段类型 | MODIFY [COLUMN] create_definition --修改子句 | DROP [COLUMN] col_name --删除子段名称 | DROP PRIMARY KEY --删除主键名称 | DROP INDEX index_name --删除索引名称 | RENAME [AS] new_tbl_name --更改表名 | table_options

ALTER TABLE 语句允许指定多个动作,每个动作使用逗号分隔。

5.重命名表RENAME TABLE

该语句可以同时对多个数据表进行重命名,多个表之间以逗号,分隔:

RENAME TABLE 数据表名1 To 数据表名2

示例(将tb_admin表重命名为tb_user):

RENAME TABLE 数据表名1 To 数据表名2 6.删除表DROP TABLE DROP TABLE 数据表名; --或 DROP TABLE IF EXISTS 数据表名;

删表需要谨慎

三、数据表高级操作 1.克隆表 --实现克隆表 --1.方法一 LIKE CREATE TABLE 新表名 LIKE 被克隆表名; INSERT INTO 新表名 SELECT * FROM 被克隆表名; --2.方法二 CREATE TABLE 新表名 (SELECT * FROM 被克隆表名);

复制会有瓶颈,不能完全复制,Key的属性就无法复制

2.清空表 --清空表 --1.记录自增ID未删除 DELETE FORM 表名; --DELETE是一行一行的删除记录。若有自增字段,再次添加会从原记录最大的自增字段开始写入记录 --2.记录自增ID删除 TRUNCATE TABLE 表名; --TRUNCATE不会返回被删除条目,TRUNCATE是将表重建,速度快于DELETE,自增值从初始值开始 4.创建临时表

使用SHOW TABLES是看不见临时表的,临时表会在连接推出后销毁。

CREATE TEMPORARY TABLE 表名(...); --示例: create temporary table tb_admin( id int(4) zerofill primary key auto_increment, name varchar(32) not null, sex char(2) not null ); 四、MySQL语句操作 1.插入记录INSERT insert into 数据表名[(column_name1,column_name2,...)] value(v1,v2,...)[,(v1,v2,...)]; --后面给定多个括号进行批量添加,中间使用逗号隔开 2.查询数据库记录SELECT SELECT [DISTINCT] [CONCAT (col1,":",col2) as col] selection_list --要查询的内容,选择哪些列 FROM 数据表名tb_list --指定数据表 WHERE primary_constraint --查询时需要满足的内容 GROUP BY grouping_columns --如何对结果进行分组 ORDER BY sorting_columns --如何对结果进行排序 HAVING secondary_constraint --查询时满足的第二条件 LIMIT count --限定输出的查询结果

这就是SELECT查询语句的语法,下面对它的参数进行讲解:

1.selection_list

设置查询内容,查询所有列使用*,多个列名以,分隔。

select * from tb_admin; --查询数据表中所有数据 select user,pass from tb_admin; --查询数据表中user和pass列的数据

2.tb_list

数据表名,既可以从一个数据表中查询,也可以从多个数据表中查询,使用,隔开多个数据表,并且通过WHERE子句确定表之间的联系。

select tb_book.id,tb_book.name,tb_bookinfo.author,tb_bookinfo.price --查询的列 from tb_book,tb_bookinfo --数据表 where tb_book.name = tb_bookinfo.name --匹配条件 and tb_bookinfo.name = '演员的自我修养'; --外部条件

3.where条件语句

设定查询条件,可以通过它实现很多复杂的条件查询。where子句中常用的比较运算符:

运算符名称示例=等于id=2>大于id>2>=大于等于id>=2


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3