MySQL创建数据库和表

目录

创建数据库和表

一、对数据库的操作

1.创建数据库

1.修改数据库字符集

2.删除数据库

二、对表的操作

1.创建表

2.数据字典

数值类型

字符类型

日期和时间类型

三、基本操作指令

课程小结:

按照实际操作,实现一下表的创建


 

创建数据库和表

一、对数据库的操作

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

 

8005eeca7ae16bb4128d356d1fa66e94.png

汉卡对中文进行编码: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.数据字典

  • 数值类型

 

78bfac06f963a6ea0011a02162800170.png

  • 字符类型

字符串类型指char,varchar,binary,blob,text,enum和set

 

895f7beb2cadf146ccb52c10bb66dbaa.png

  • 日期和时间类型

表示时间值的日期和时间类型为datetime,date,timestamp,time和year

 

f92aa048dc17f8ab961c7fdbeeccceec.png

三、基本操作指令

 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.数据类型常见的有:数值类型,字符类型,以及事件类型,每一种数据类型化都有固定的取值范围

 

按照实际操作,实现一下表的创建

 

a266866e7cb6c407bf9b87438464fbfd.png

 

f734819ed62c67bc612bfb99d0a4db80.png

 

0bcc72e83be72cdd5c8efba86585a122.png

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值