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命令参数MySQL是一个开源的关系型数据库管理系统,提供了丰富的命令和参数供用户进行数据库管理和操作。
下面是一些常用的MySQL命令参数的介绍,总字数超过1200字:1. -h或--host:指定MySQL服务器的主机名或IP地址。
例如,可以使用-h localhost连接到本地的MySQL服务器。
2. -u或--user:指定连接MySQL服务器时使用的用户名。
3. -p或--password:指定连接MySQL服务器时使用的密码。
使用该参数会提示用户输入密码。
4. -P或--port:指定连接MySQL服务器时使用的端口号。
默认情况下,MySQL服务器使用3306端口。
5. -D或--database:指定要使用的数据库。
可以在连接MySQL服务器后使用use命令来切换数据库,也可以使用该参数在连接时直接指定要使用的数据库。
6. -e或--execute:指定要执行的SQL语句。
该参数可用于在命令行中直接执行一条SQL语句。
7. -r或--result-file:指定查询结果的输出文件。
可以使用该参数将查询结果保存到文件中,而不是在命令行中显示。
8. --skip-column-names:在查询结果中不显示列名。
使用该参数可以只显示查询结果的数据部分,而不包含列名。
9. -s或--silent:使命令行工具在执行命令时不输出任何信息。
使用该参数可以使输出更加简洁。
10. -i或--ignore-errors:在执行SQL语句时忽略错误。
默认情况下,如果SQL语句执行出错,命令行工具会停止执行并显示错误信息。
使用该参数可以忽略错误继续执行后续语句。
11. -v或--verbose:显示详细的执行信息。
使用该参数可以在执行命令时显示更多的调试信息,帮助用户进行故障排查。
12. --show-warnings:在执行命令时显示警告信息。
警告信息是一些非致命性的问题,可以使用该参数查看这些警告信息。
mysql命令参数

mysql命令参数MySQL命令参数详解MySQL作为一种流行的关系型数据库管理系统,其常用的命令参数也是必须掌握的技能之一。
在本文中,我们将详细介绍MySQL的常用命令参数,包括参数的含义、用法以及实际应用场景。
1. -h, --host该参数用于指定MySQL服务器的主机名或IP地址。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,localhost表示本地主机,username表示用户名,password表示密码。
2. -P, --port该参数用于指定MySQL服务器的端口号。
默认情况下,MySQL服务器的端口号为3306。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -P 3306 -u username -p password其中,3306表示MySQL服务器的端口号。
3. -u, --user该参数用于指定MySQL服务器的用户名。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,username表示MySQL服务器的用户名。
4. -p, --password该参数用于指定MySQL服务器的密码。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password其中,password表示MySQL服务器的密码。
5. -D, --database该参数用于指定要连接的MySQL数据库名称。
例如,可以使用以下命令连接到MySQL服务器:mysql -h localhost -u username -p password -D dbname其中,dbname表示要连接的MySQL数据库名称。
6. -e, --execute该参数用于指定要在MySQL服务器上执行的SQL语句。
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查看数据库、表的基本命令1:show databases;查看所有的数据库,等同于select schema_name from information_schema.schemata\G。
\G 替换;,以纵向报表的形式输出结果,有利于阅读。
2. status 查看mysql数据库的运⾏状态3. use 命令选择数据库例如 use information_schema,当使⽤此命令后select schema_name from information_schema.schemata\G,可以为select schema_name from schemata\G4. 查看数据库中的表show tables同样也可以在information_schema中查看,show命令是⽅便使⽤的简短模式。
select table_name from tables where table_schema='jblog';5. 查看表结构desc table_name;6.查看表状态 show table status from db like 条件可以查看engine数据库引擎,version,row、index等信息7.⼩技巧,当多⾏命令输⼊,发现错误后,⽤\c结束。
赋予⽤户某表所有权限grant all on clyg_tmc_hotel_thd_qiantao to 'root'@'%';-------------------------------------------------------------另,查询数据库运⾏状态的基本命令:#查询数据库连接show full processlist;show status like'%Max_used_connections%';show status like'%Threads_connected%';#当前连接数show status like'%table_lock%';#表锁定show status like'innodb_row_lock%';#⾏锁定show status like'%qcache%'; #查询缓存情况show variables like"%query_cache%";SHOW STATUS LIKE'Qcache%';show variables like"%binlog%";show status like'Aborted_clients';#由于客户没有正确关闭连接已经死掉,已经放弃的连接数量show variables like'%max_connections%';//查看最⼤连接数量show variables like'%timeout%';#查看超时时间show variables like'log_%'; #查看⽇志是否启动。
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 ',';。
mysql命令大全实用

一、1.登录数据库系统mysql –h localhost –u root -p2.查看已存在的数据库SHOW DATABASES;3.查看默认存储引擎SHOW V ARIABLES LIKE 'storage_engine';4.创建数据库CREATE DATABASE school;5.删除数据库DROP DATABASE school;二、(1)登录数据库mysql -h localhost -u root -p(2)查看数据库系统中已存在的数据库,代码如下:SHOW DATABASES;(3)查看该数据库系统支持的存储引擎的类型,代码如下:SHOW ENGINES;(4)创建student数据库和teacher数据库。
CREATE DA TABASE student;CREATE DA TABASE teacher;(5)再次查看数据库系统中已经存在的数据库,确保student和teacher数据库已经存在,代码如下:SHOW DATABASES;(6)删除teacher数据库,代码如下:DROP DATABASE teacher ;(7)再次查看数据库系统中已经存在的数据库,确保teacher数据库已经删除。
SHOW DATABASES;三、1.登录数据库系统mysql –h localhost –u root -p2.选择example数据库查看数据库的代码SHOW DATABASES;选择example数据库的代码USE example;3.创建student表和grade表创建student表的代码CREATE TABLE student(num INT(10) NOT NULL UNIQUE PRIMARY KEY ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TETIME ,address V ARCHAR(50));创建grade表的代码CREATE TABLE grade(id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, course V ARCHAR(10) NOT NULL ,s_num INT(10) NOT NULL ,grade V ARCHAR(4),CONSTRAINT grade_fk FOREIGN KEY (s_num)REFERENCES student(num));4.将grade表的course字段的数据类型改为V ARCHAR(20),代码如下:ALTER TABLE grade MODIFY course V ARCHAR(20);5.将s_num字段的位置改到course字段的前面,代码如下:ALTER TABLE grade MODIFY s_num INT(10) AFTER id;6.将grade字段改名为scoreALTER TABLE grade CHANGE grade score V ARCHAR(4);7.删除grade表的外键约束ALTER TABLE grade ENGINE=MyISAM;8.将grade表的存储引擎更改为MyISAM类型ALTER TABLE grade ENGINE=MyISAM;9.将student表的address字段删除ALTER TABLE student DROP address;10.在student表中增加名为phone的字段ALTER TABLE student ADD phone INT(10);11.将grade表改名为gradeInfoALTER TABLE grade RENAME gradeInfo;12.删除student表DROP TABLE student;四1.操作teacher表(1)首先创建数据库school,代码如下:CREATE DATABASE school;(2)创建teacher表,代码如下:CREATE TABLE teacher(id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DATETIME ,address V ARCHAR(50));(3)将teacher表的name字段的数据类型改为VARCHAR(30),代码如下:ALTER TABLE teacher MODIFY name V ARCHAR(30) NOT NULL;(4)将birthday字段的位置改到sex字段的前面,代码如下:ALTER TABLE teacher MODIFY birthday DA TETIME AFTER name;(5)将num字段改名为t_id,代码如下:ALTER TABLE teacher CHANGE num t_id INT(10) NOT NULL;(6)将teacher表的address字段删除,代码如下:ALTER TABLE teacher DROP address;(7)在teacher表中增加名为wages的字段,数据类型为FLOAT,代码如下:ALTER TABLE teacher ADD wages FLOAT;(8)将teacher表改名为teacherInfo,代码如下:ALTER TABLE teacher RENAME teacherInfo;(9)将teacher表的存储引擎更改为MyISAM类型,代码如下:ALTER TABLE teacherInfo ENGINE=MyISAM;2.操作department表和worker表(1)创建department表,代码如下:CREATE TABLE department(d_id INT(4) NOT NULL UNIQUE PRIMARY KEY ,d_name VARCHAR(20) NOT NULL UNIQUE ,function V ARCHAR(50) ,address V ARCHAR(50));(2)创建worker表,代码如下:CREATE TABLE worker (id INT(4) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT, num INT(10) NOT NULL UNIQUE ,d_id INT(4) ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TE ,address V ARCHAR(50) ,CONSTRAINT worker_fk FOREIGN KEY (d_id)REFERENCES department (d_id));(3)删除department表,代码如下:DROP TABLE department;4)删除worker表的外键约束,代码如下:ALTER TABLE worker DROP FOREIGN KEY worker_fk;(5)重新删除department表,代码如下:DROP TABLE department;五、1.登录数据库系统并创建job数据库登录MySQL数据库的命令如下:mysql –h localhost –u root -p创建job数据库的代码如下:CREATE DATABASE job;2.创建user表选择job数据库的代码如下:USE job;创建user表的代码如下:CREATE TABLE user(userid INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT , username V ARCHAR(20) NOT NULL ,passwd V ARCHAR(20) NOT NULL ,info TEXT ,UNIQUE INDEX index_uid ( userid DESC ) ,INDEX index_user ( username, passwd ) ,FULLTEXT INDEX index_info( info ))ENGINE=MyISAM;查看user表的结构的代码如下:SHOW CREATE TABLE user \G3.创建information表创建information表的代码如下:CREATE TABLE information (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,birthday DA TE ,address V ARCHAR(50) ,tel V ARCHAR(20) ,pic BLOB);查看information表的结构的代码如下:SHOW CREATE TABLE information \G4.在name字段创建名为index_name的索引CREATE INDEX index_name ON information( name(10) );5.创建名为index_bir的多列索引CREATE INDEX index_bir ON information(birthday, address );6.用ALTER TABLE语句创建名为index_id的惟一性索引ALTER TABLE information ADD INDEX index_id( id ASC );7.删除user表上的index_user索引删除index_user索引的代码如下:DROP INDEX index_user ON user;查看user表的结构的代码如下:SHOW CREATE TABLE user \G8.删除information表上的index_name索引删除index_name索引的代码如下:DROP INDEX index_name ON information;查看information表的结构的语句如下:SHOW CREATE TABLE information \G六、(1)创建workInfo表CREATE TABLE workInfo (id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT,name V ARCHAR(20) NOT NULL ,type V ARCHAR(10) ,address V ARCHAR(50) ,tel V ARCHAR(20) ,wages INT ,contents TINYTEXT ,extra TEXT ,UNIQUE INDEX index_id (id DESC));(2)使用CREATE INDEX语句为name字段创建长度为10的索引index_name,代码如下:CREATE INDEX index_name ON workInfo( name(10) );(3)使用ALTER TABLE语句在type和address上创建名为index_t的索引,代码如下:ALTER TABLE workInfo ADD INDEX index_t( type, address );(4)使用ALTER TABLE语句将workInfo表的存储引擎更改为MyISAM类型,代码如下:ALTER TABLE workInfo ENGINE=MyISAM;(5)使用ALTER TABLE语句在extra字段上创建名为index_ext的全文索引,代码如下:ALTER TABLE workInfo ADD FULLTEXT INDEX index_ext (extra );(6)使用DROP语句删除workInfo表的惟一性索引index_id,代码如下:DROP INDEX index_id ON workInfo ;七、1.在test数据库中work_info表选择test数据库的代码如下:USE test;创建work_info表的代码如下:CREATE TABLE work_info (id INT(10) NOT NULL UNIQUE PRIMARY KEY ,name V ARCHAR(20) NOT NULL ,sex V ARCHAR(4) NOT NULL ,age INT(5),address V ARCHAR(50) ,tel V ARCHAR(20));2.插入记录INSERT INTO work_info V ALUES( 1,'张三', 'M',18,'北京市海淀区','1234567'); INSERT INTO work_info V ALUES( 2,'李四', 'M', 22,'北京市昌平区','2345678'); INSERT INTO work_info V ALUES( 3,'王五', 'F', 17,'湖南省永州市','3456789'); INSERT INTO work_info V ALUES( 4,'赵六', 'F', 25,'辽宁省阜新市','4567890');3.创建视图info_viewCREATE ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age>20WITH LOCAL CHECK OPTION;4.查看视图info_view的基本结构和详细结构查看基本结构的代码如下:DESC info_view;查看详细结构的代码如下:SHOW CREATE VIEW info_view \G5.查看视图info_view的所有记录SELECT * FROM info_view;6.修改视图info_viewALTER ALGORITHM=MERGE VIEWinfo_view ( id,name, sex, address )AS SELECT id,name, sex, addressFROM work_info WHERE age<20WITH LOCAL CHECK OPTION;7.更新视图UPDATE info_view SET sex='M' WHERE id=3;8.删除视图DROP VIEW info_view;八、(1)在example数据库下创建college表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.对数据库常用命令1.连接数据库mysql -u用户名 -p密码2.显示已有数据库show databaxxxxses;3.创建数据库create databaxxxxse sqlname;4.选择数据库use databaxxxxse sqlname;5.显示数据库中的表(先选择数据库)show tables;6.显示当前数据库的版本信息以及连接用户名select version()user();7.删除数据库(删除时没有提示直接删除)drop databaxxxxse sqlname;2.数据库中对表的命令1.创建表(1)语法:create table tablename(字段1 数据类型字段属性…字段n);(2)注意:1.创建表时为了防止与保留字冲突,用’'括起来2.单行注释:#…多行注释:/…/3.创建表时多字段中间用英文逗号隔开,最后一行不用逗号。
(3) 字段约束和属性1.非空约束not null(字段不允许为空)2.默认约束default(设置默认值)3.唯一约束unique key(uk)(设置字段的值是唯一的,可为空,但只能有一个空值)4.主键约束primary key(pk)(作为表记录的唯一标识)5.外键约束foreign key(fk)(用于两个表之间建立关系,需要指定引用主表的哪一字段。
在数据库的存储引擎中InnoDB支持外键,MyISAM不支持外键。
作为外键的字段要求是主表中的主键(单字段主键))添加外键约束:CONSTRAINT FK_外键名 FOREIGN KEY(字表中外键字段)REFERENCES 关联表名 (关联字段)。
grandid作为字表的外键1.设置自增auto_increment=n从n开始。
2.设置自增set @@ auto_increment_increment=m步长为m。
3.多字段设置主键:primary key(字段1,字段2…字段n)4.表中的注释/说明性文字:)comment=“说明文字”;5.设置字符集:)charset=“字符集”;6.查看表的结构:describe’表名’/desc 表名7.查看数据库定义:show create databaxxxxse sqlname;8.查看数据表定义:show create table tablename;9.查看默认存储引擎:show variables like’storage_engine%’;11.指定表的存储引擎:)engine=存储引擎;10.删除表:drop table ‘tablename’;11.获取当前日期:now();12.修改表:(1)修改表名:alter table 旧表名 rename 新表名;(2)添加字段:alter table 表名 add 字段名数据类型…;(添加新的字段)(3)修改字段:alter table 表名 change 原字段名新字段名数据类型…;(4)删除字段:alter table 表名 drop 字段名;(5)在创建完表以后添加主键约束:alter table 表名 add constraint 主键名 primary key 表名(主键字段);(6)创建完表以后添加外键约束(作为外键的字段要求是主表中的主键(单字段主键)):alter table 表名 add constraint 外键名 foreign key(外键字段) references 关联表名 (关联字段);插入数据1.插入单行数据:insert into 表名 (字段名列表(逗号隔开)) values(值列表(逗号隔开));2.插入多行数据:insert into 表名(字段名列表) values (值列表1) … (值列表n);3.将查询结果插入到新表中:create table 新表(select 字段1 … from 原表);查询student表中的id,name,sex,phone数据插入到newstudent表中:CREATE TABLE newstudent(SELECT id`name`sexphone FROM student);3.更新数据(修改数据):update 表名 set 列名=更新值 where 更新条件;修改newstudent表中id=1001的数据名字为tom:UPDATE newstudent SET `name`='tom' WHERE id=1001;4.删除数据(1)delete from 表名 where 删除条件;delete 删除的是整条数据,不会只删除单个列。
删除newstudent表中名字为tom的数据:DELETE FROM newstudent WHERE `name`='tom';(2)truncate table 删除数据:truncate table 删除的是表中所有的行,但表的结构,列,约束,索引等不会改变。
不能用于有外键约束的表。
删除数据不能恢复。
truncate table 表名 where 删除条件;数据查询1.使用select查询select 列名/表达式/函数/常量 from 表名 where 查询条件 order by 排序的列名asc/desc;(1)查询所有的数据行和列:select * from 表名;(2)查询部分行和列:select 列名… from 表名 where 查询条件;(3)在查询中使用列的别名:select 列名AS新列名 form 表名 where 查询条件;计算,合并得到新的列名:select 列名1+’.’+列名2 AS新列名 from 表名;(4)查询空值:通过is null或者is not null判断列值是否为空查询student表中Email为空的学生姓名:SELECT `name` FROM student WHERE Email IS NULL;2.分组查询#查询不同课程的平均分,最低分,最高分并查询出平均分大于80分的课程SELECT r.subjectnosub.`SubjectName` 课程名称AVG(StudentResult) 平均分MAX(StudentResult) 最高分MIN(StudentResult) 最低分FROM result r INNER JOIN `subject` subON r.`SubjectNo`=sub.`SubjectNo`GROUP BY r.subjectno#where AVG(StudentResult)>=80出现错误,#分组查询group by 在where语句后,#group by 约束条件使用having语句HAVING AVG(StudentResult)>=80;•常用函数1.聚合函数:(1)AVG (平均值):select avg(列名)from 表名假设列名为成绩则查询到的是表中所有成绩的平均值。
(2)count 返回某字段的行数(3)max 返回某字段的最大数(4)min 返回某字段的最小值(5)sum 返回某字段的和。
2.字符串函数:(1)concat() 连接字符串s1s2…sn为一个完整的字符串。
(2)insert(s1p1nnews)将字符串s1从p1位置开始,n个字符长的字串替换为字符串news。
(3)lower(s)将字符串s中的所有字符改为小写。
(4)upper(s)将字符串s中的所有字符改为大写。
(5)substring(snumlen)返回字符串s的第num个位置开始长度为len的子字符串。
3.时间日期函数:(1)获取当前日期:curdate();(2)获取当前时间:curtime();(3)获取当前日期和时间:now();(4)返回日期date为一年中的第几周:week(date);(5)返回日期date的年份:year(date);(6)返回时间time的小时值:hour(time);(7)返回时间time的分钟值:minute(time);(8)返回日期参数(date1和date2之间相隔的天数):datediff(date1date2);(9)计算日期参数date加上n天后的日期:adddate(daten);4.数学函数(1)返回大于或等于数值x的最小整数:ceil(x);(2)返回小于或等于数值x的最大整数:floor(x);(3)返回0~1之间的随机数:rand();order by 子句order by子句按照一定的顺序排列查询结果,asc升序排列,desc降序排列。
limit子句显示指定位置指定行数的记录。
select 字段名列表 form 表名 where 约束条件 group by分组的字段名 order by 排序列名 limit 位置偏移量行数;#查询学生信息里gid=1按学号升序排列前四条记录#查询学生信息里gid=1按学号升序排列前四条记录(步长)SELECT id`name` FROM `student1` WHERE gid=1 ORDER BY id LIMIT 4;(查询表里全部信息中gid=1的前四个学生)查询结果:#查询学生信息里gid=1按学号升序排列前四条记录(位置偏移量,步长)SELECT id`name` FROM `student1` WHERE gid=1 ORDER BY id LIMIT 44;(查询表中全部信息gid=1前四条以后的全部信息中的前四条学生信息)查询结果:模糊查询in子查询******not in 子查询使用in关键字可以使父查询匹配子查询返回的多个单字段值。
解决使用比较运算符(=>等),子查询返回值不唯一错误信息。
like模糊查询LIKE语句语法格式:select * from 表名 where 字段名 like 对应值(子串)。
它主要是针对字符型字段的,它的作用是在一个字符型字段列中检索包含对应子串的。
A:%包含零个或多个字符的任意字符串: 1、LIKE’Mc%’ 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。
2、LIKE’%inger’ 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。
3、LIKE’%en%’ 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。
B:_(下划线)任何单个字符:LIKE’_heryl’ 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。
C:[ ] 指定范围 ([a-f]) 或集合 ([abcdef]) 中的任何单个字符:、1,LIKE’[CK]ars[eo]n’ 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如Carson)。