MySQL创建数据库和表
本篇文章主要讲解MySQL中创建数据库和表的相关指令和注意事项
目录
创建数据库和表
一、对数据库的操作
1.创建数据库
在大多数RDBMS中,我们都可以使用如下简单的SQL语句,创建整个数据库:
CREATE DATABASE [IF NOT EXITS] 数据库名 [CHARACTER set 'utf8mb4'];
其中:数据库名在服务器中必须是唯一的,并且符合标识符规则,所谓标识符规指:
-
第一字符必须是下列字符之一:
-
Unicode 标准 3.0 所定义的字母 (Unicode 中定义的字母包括拉丁字母 a-z 和 A-Z,以及来自其他语言的字母字符)。
-
下划线(_) at符号(@) 或者 数字字符(#)
-
-
后续字符可以使:
-
Unicode 标准 3.0 所定义的字母。
-
来自基本拉丁字母或其他国家/地区脚本的十进制数字。
-
at符号(@) 美元符号($) 数字符号或下划线。
-
标识符不能是所用的RDBMS的保留字,如create,drop,insert,delete,update,alter,select,return,use,grant,revoke等。
-
不允许嵌入空格或其他特殊字符。
-
UTF-8编码格式,对全球文字进行统一编码,如果只是ASCII,ISO-8859-1,ASCII码是由1byte来进行编码,1byte=8bit,表示有8个二进制位,0000 0000 ~ 1111 1111 对应0 ~ 255
-
汉卡对中文进行编码:GBK2312,GBK,GB18030,在中文编码规范下,只支持ASCII+中文,但是不能支持日文等,中文编码规范由2byte= 16bit,2^16=65536,UTF-8 除了ASCII码占 1byte ,其他的文字占 3byte=24bit=2^24=16777216
举例:
create database test character set 'utf8';
1.修改数据库字符集
语法结构:
语法:ALTER DATABASE db_name CHARACTER SET = charset_name eg:ALTER DATABASE test CHARACTER SET = UTF8MB4;
字符集决定了数据库是否能够正常保存和显示非ASCII码字符,为了更好地兼容性,建议使用UTF8MB4,可以保存世界各国的文字,不会出现乱码
2.删除数据库
drop database 数据库名;
这是一条危险的命令,使用前,请务必确认数据库的确可以被删除
二、对表的操作
1.创建表
create table 表名( 列名 数据类型 约束, 列名 数据类型 约束 )[engine = engine_name | [default] character set [=] character_name];
其中,表名在一个数据库中必须是唯一的,并且符合标识符规则。列名在一个表中必须是唯一的,并且符合标识符规则。列的数据类型决定了什么样的数据可以存储在列中,而列的约束定义了创建列时的限制条件。Mysql引擎类型有innoDB和MyISAM两种。建议使用innoDB,功能更强大,但是执行效率会稍低。
2.数据字典
-
数值类型
-
字符类型
字符串类型指char,varchar,binary,blob,text,enum和set
-
日期和时间类型
表示时间值的日期和时间类型为datetime,date,timestamp,time和year
三、基本操作指令
show databases; #查看目前系统中存在的数据库。 use world; #切换到world数据库 show tables; #显示当前数据库下面的所有可用的表。 use mysql; #切换到mysql核心数据库 desc user; #显示mysql数据库中的user表的结构 select host,user,password from user; #查询mysql数据库中的user表的三列数据 exit #退出MySQL命令行操作
#运行以下命令,修改root用户的密码 update user set authentication_string=password('p-0p-0p-0') where user='root'; flush privileges;
-
修改表名
alter table 表名 rename to 新的表名;
alter table students_info rename to stu_info;
-
添加字段
#给数据库中的表添加新的列的语法如下: alter table 表名 add [column] 列名 列的定义;
列的定义:列的数据类型(列的约束)
alter table stu_info add column birthday date;
-
修改字段
#修改数据库表字段的语法如下: alter table 表名 change [column] 旧列名 新列名 列的定义;
alter table stu_info change study_direction study_direc varchar(20);
-
修改字段类型
#修改数据库表字段的语法如下: alter table 表名 modify [column] 列名 列的定义;
alter table stu_info modify gender int;
-
删除字段
#删除数据库表字段类型的语法如下: alter table 表名 drop [column] 列名;
alter table stu_info drop stu_direc;
-
删除数据表
drop table 表名; drop table stu_info;
课程小结:
1.创建数据库表的语句,也是属于DDL语句中的一种
2.在MySQL数据库,在使用语句时,不区分大小写
3.建表语句使用create table,修改表使用alter table,而删除表则使用drop table
4.数据类型常见的有:数值类型,字符类型,以及事件类型,每一种数据类型化都有固定的取值范围
按照实际操作,实现一下表的创建
更多推荐
所有评论(0)