练习:
查看 char 类型和 varchar 类型的说明,并分析 char 和 varchar 的存储区别。
? char
? varchar
char(n) 长度固定为n,最多可存储255个字符。如果实际存储的数据长度小于n,则MySQL会自动用空格字符补充,但是在检索操作中那些填补出来的空格会被去掉。ASSII占用1个字节,1个汉字占用2个字节。
varchar(n) 长度不固定,最大长度为65535个字节。它存储的是实际的字符串加1或2个字节用来记录字符串实际长度,字符串长度小于等于255字节用1字节记录,超过255就需要2字节记录。ASSII占用2个字节,1个汉字占用两字节
由于char数据类型长度固定,因此它比varchar类型的处理速度快。
实际使用中,可以通过使用关键字进行快速查询。
执行如下命令:
mysql> ? show
mysql> ? create database;
请写出 create databases 命令的语法
CREATE {DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[create_option] ...
create_option: [DEFAULT] {
CHARACTER SET [=] charset_name
| COLLATE [=] collation_name
| ENCRYPTION [=] {'Y' | 'N'}
}
三、熟悉系统数据库
1.显示系统数据库
mysql> show databases;
显示结果如下(写出系统数据库名字)
2、选择 mysql 数据库
mysql> use mysql
3、显示 mysql 数据库中所有表格
mysql> show tables;
mysqls 数据库中有多少张表格
4、查看 user 表结构
mysql> desc user;
user 表格有多少个字段?
4、通过 user 表查看系统的用户信息
mysql> select user from user;
user 表中登记了多少个用户?请写出所有用户名
5、执行如下命令,写出结果并解释其功能:
mysql> select host ,user,password_last_changed from user;
功能:查看主机,用户,最后一次修改密码的时间
6、使用命令查看 db 表中所有用户(user)的查询权限(select_priv)。
mysql> select user,select_priv from db;
四、创建数据库
创建数据库语法:create database dbname;
1、使用命令创建数据库 jxgl
mysql> create database jxgl;
mysql> use jxgl;
mysql> CREATE TABLE IF NOT EXISTS `Student`(
-> Sno char(10) NOT NULL,
-> Sname varchar(8),
-> Ssex char(2),
-> Sbirthday date,
-> Sdept char(16),
-> Speciality varchar(20),
-> PRIMARY KEY(Sno)
-> )ENGINE=InnoDB DEFAULT CHARSET=UTF8;
mysql> CREATE TABLE IF NOT EXISTS `Course`(
-> Cno char(5) NOT NULL,
-> Cname varchar(20) NOT NULL,
-> PRIMARY KEY(Cno)
-> )ENGINE=InnoDB DEFAULT CHARSET=UTF8;
mysql> CREATE TABLE IF NOT EXISTS SC(
-> Sno char(10) NOT NULL,
-> Cno char(5) NOT NULL,
-> Degree Decimal(5,1)
-> )ENGINE=InnoDB;
3、使用 show 命令显示 jxgl 数据库中所有的表格。
mysql> show tables from jxgl;
4、使用 desc 命令显示 student 表结构:
mysql> desc student;