位置: IT常识 - 正文
推荐整理分享SQL基础语句 - 数据定义DDL操作数据库和数据表的详细介绍(sql语句的基本用法),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:sql语句的基本用法,sql语句基础教程,sql语句基础知识,sql语句的基本用法,sql语言的数学基础,sql数据语句,sql数据语句,sql语言的数学基础,内容如对您有帮助,希望把文章链接给更多的朋友!
查询:
查询数据库: SHOW DATABASES;
mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || mysql || performance_schema || sys |+--------------------+4 rows in set (0.00 sec)创建:
创建数据库: CREATE DATABASE 数据库名称;
mysql> CREATE DATABASE db1;Query OK, 1 row affected (0.01 sec)创建数据库(判断,如果不存在则创建): CREATE DATABASE IF NOT EXISTS 数据库名称;
mysql> CREATE DATABASE IF NOT EXISTS db1;Query OK, 1 row affected, 1 warning (0.00 sec)删除:
删除数据库: DROP DATABASE 数据库名称;
mysql> DROP DATABASE db1;Query OK, 0 rows affected (0.02 sec)删除数据库(判断,如果存在则删除): DROP DATABASE IF EXISTS 数据库名称;
mysql> DROP DATABASE IF EXISTS db1;Query OK, 0 rows affected, 1 warning (0.01 sec)使用数据库:
使用某个数据库: USE 数据库名称;
mysql> USE db1;Database changed查看当前使用的数据库: SELECT DATABASE();
mysql> SELECT DATABASE();+------------+| DATABASE() |+------------+| db1 |+------------+1 row in set (0.00 sec)DDL操作数据表查询表(Retrieve):
查询当前数据库下所有表的名称: SHOW TABLES;
例如下面查看mysql数据库中的数据表
mysql> USE mysql;Database changedmysql> SHOW TABLES;+------------------------------------------------------+| Tables_in_mysql |+------------------------------------------------------+| columns_priv || component || db || default_roles || engine_cost || func || general_log || global_grants || gtid_executed || help_category || help_keyword || help_relation || help_topic || innodb_index_stats || innodb_table_stats || ndb_binlog_index || password_history || plugin || procs_priv || proxies_priv || replication_asynchronous_connection_failover || replication_asynchronous_connection_failover_managed || replication_group_configuration_version || replication_group_member_actions || role_edges || server_cost || servers || slave_master_info || slave_relay_log_info || slave_worker_info || slow_log || tables_priv || time_zone || time_zone_leap_second || time_zone_name || time_zone_transition || time_zone_transition_type || user |+------------------------------------------------------+38 rows in set (0.00 sec)查询表的具体结构: DESC 表名称;
例如下面查询的是mysql数据库中的func数据表
mysql> DESC func;+-------+------------------------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+-------+------------------------------+------+-----+---------+-------+| name | char(64) | NO | PRI | | || ret | tinyint | NO | | 0 | || dl | char(128) | NO | | | || type | enum('function','aggregate') | NO | | NULL | |+-------+------------------------------+------+-----+---------+-------+4 rows in set (0.01 sec)创建表(Create):
注意:每一行字段用逗号隔开, 最后一行末尾,不能加逗号
创建表语法格式如下:
CREATE TABLE 表名 (字段名1 数据类型1,字段名2 数据类型2,…,字段名n 数据类型n);在我们自己创建的数据库db1中进行表的创建演示:
mysql> USE db1;Database changedmysql> CREATE TABLE tb_user( -> id int, -> username varchar(20), -> password varchar(32) -> );Query OK, 0 rows affected (0.01 sec)创建表案例练习:
设计一张学生表,请注重数据类型、长度的合理性
编号姓名,姓名最长不超过10个汉字性别,因为取值只有两种可能,因此最多一个汉字生日,取值为年月日入学成绩,小数点后保留两位邮件地址,最大长度不超过 64家庭联系电话,不一定是手机号码,可能会出现 - 等字符学生状态(用数字表示,正常、休学、毕业…)mysql> CREATE TABLE student( -> id int, -> name varchar(10), -> sex char(1), -> birthday date, -> score double(5,2), -> email varchar(64), -> tel varchar(15), -> status tinyint -> );Query OK, 0 rows affected, 1 warning (0.02 sec)mysql> DESC student;+----------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+----------+-------------+------+-----+---------+-------+| id | int | YES | | NULL | || name | varchar(10) | YES | | NULL | || sex | char(1) | YES | | NULL | || birthday | date | YES | | NULL | || score | double(5,2) | YES | | NULL | || email | varchar(64) | YES | | NULL | || tel | varchar(15) | YES | | NULL | || status | tinyint | YES | | NULL | |+----------+-------------+------+-----+---------+-------+8 rows in set (0.01 sec)修改表(Update):
修改表名: ALTER TABLE 表名 RENAME TO 新的表名;
例如修改tb_user表的名字
mysql> ALTER TABLE tb_user RENAME TO user;Query OK, 0 rows affected (0.01 sec)添加一列: ALTER TABLE 表名 ADD 列名 数据类型;
mysql> ALTER TABLE user ADD address varchar(50);Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0修改数据类型: ALTER TABLE 表名 MODIFY 列名 新数据类型;
mysql> ALTER TABLE user MODIFY address char(50);Query OK, 0 rows affected (0.02 sec)Records: 0 Duplicates: 0 Warnings: 0修改列名和数据类型: ALTER TABLE 表名 CHANGE 列名 新列名 新数据类型;
mysql> ALTER TABLE user CHANGE address addr varchar(30);Query OK, 0 rows affected (0.08 sec)Records: 0 Duplicates: 0 Warnings: 0删除列: ALTER TABLE 表名 DROP 列名;
mysql> ALTER TABLE user DROP addr;Query OK, 0 rows affected (0.01 sec)Records: 0 Duplicates: 0 Warnings: 0删除(Delete):
删除表: DROP TABLE 表名;
mysql> DROP TABLE user;Query OK, 0 rows affected (0.01 sec)删除表(判断是否存在, 存在则删除): DROP TABLE IF EXISTS 表名;
mysql> DROP TABLE IF EXISTS user;Query OK, 0 rows affected, 1 warning (0.01 sec)上一篇:vue如何设置元素的显示隐藏(vue设置元素不可点击)
下一篇:第一次尝试制作一个钓鱼网站,小白教程,超细!(我初次尝试制作的英文怎么写)
友情链接: 武汉网站建设