mysql_学习笔记2
创建数据库
create database RUNOOB;
显示数据库
show databases;
+--------------------+
| Database |
+--------------------+
| heihei |
| information_schema |
| mysql |
| performance_schema |
| runoob |
| sys |
+--------------------+
选择数据库
use RUNOOB
设置使用的字符集。
set names utf8;
创建表
CREATE TABLE student ( student_id VARCHAR (10) PRIMARY KEY NOT NULL, student_name VARCHAR (20) NOT NULL, student_sex VARCHAR (2), student_age INTEGER (3), dept_id VARCHAR (2), class_id VARCHAR (8) );
CREATE TABLE course ( course_id VARCHAR (4) PRIMARY KEY NOT NULL, course_name VARCHAR (40) NOT NULL, course_hours INTEGER (2), course_credit FLOAT (1) );
一些重要的:
- SELECT - 从数据库中提取数据
- UPDATE - 更新数据库中的数据
- DELETE - 从数据库中删除数据
- INSERT INTO - 向数据库中插入新数据
- CREATE DATABASE - 创建新数据库
- ALTER DATABASE - 修改数据库
- CREATE TABLE - 创建新表
- ALTER TABLE - 变更(改变)数据库表
- DROP TABLE - 删除表
- CREATE INDEX - 创建索引(搜索键)
- DROP INDEX - 删除索引
https://blog.csdn.net/weixin_44377973/article/details/103064447
create table tablename( col_name1 type auto_increment, col_name2 type not null|null default val, col_name3 type unique, .... , primary key(col_name), index idx_name(col_name1,col_name2,...), foreign key(col_name) references tablename(col_name) ) engine=innoDB|myISAM default charset=字符集;
(1)type:定义字段的数据类型。其中:字符串类型(char,varchar)需要指定长度;
整型(int,biging,tinyint等)和日期类型(datetime,timestamp等)只需要指定类型,不需要指定长度;
decimal类型需要指定精度和小数位数。
(2)primary key参数指定表的主键。
(3)auto_increment参数指定字段为自增字段,该字段的类型必须为int或bigint才能设置为自增字段。
(4)not null | null参数设置字段能否取空值。
(5)default参数设置字段的默认值。
(6)index参数用来创建索引。idx_name指定索引名,该参数可以省略,如果省略则索引名就是字段名。
(7)foreign key参数用来指定外键。
(8)engine参数用来设置引擎类型,常用的有 innoDB 和 myISAM 引擎。
(9)default charset参数设置表所用的字符集。
学习来自:https://blog.csdn.net/weixin_43790276/article/details/102655786
创建数据库并设置数据库的字符编码,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。character set 可以缩写成 charset ,效果是一样的。
create database MyDB_two character set utf8;
create database MyDB_three charset utf8;
查看和显示数据库的编码方式
show create database MyDB_one; show create database MyDB_two;
alter database MyDB_one character set utf8;
显示数据库
mysql> select database();
显示表
mysql> show create table course;
显示表
show tables;
show create table course;
添加表字段:
mysql> alter table course add course_teacher varchar(20); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
删除表的字段:
mysql> alter table course drop course_teacher; Query OK, 0 rows affected (0.04 sec) Records: 0 Duplicates: 0 Warnings: 0
修改表的字段的数据类型:
mysql> alter table course modify course_name VARCHAR(20); Query OK, 0 rows affected (0.06 sec) Records: 0 Duplicates: 0 Warnings: 0
修改字段的数据类型并且改名
mysql> alter table course change course_id course_idd VARCHAR(18); Query OK, 0 rows affected (0.01 sec) Records: 0 Duplicates: 0 Warnings: 0
字段类型:
1. 整数类型
数据类型 | 数据范围 |
TINYINT | -128 -- 127 |
SMALLINT | -32768 -- 32767 |
MEDIUMINT | -2^23 -- 2^23-1 |
INT | -2^31 -- 2^31-1 |
BIGINT | -2^63 -- 2^63-1 |
2. 字符串类型
数据类型 | 字节范围 | 用途 |
CHAR(n) | 0 -- 255字节 | 定长字符串 |
VARCHAR(n) | 0 -- 65535字节 | 变长字符串 |
TEXT | 0 -- 65535字节 | 长文本数据 |
LONGTEXT | 0 -- 2^32-1字节 | 极大文本数据 |
BLOB | 0 -- 65535字节 | 二进制长文本数据 |
LONGBLOB | 0 -- 2^32-1字节 | 二进制极大文本数据 |
3.浮点类型(m 表示浮点数的总长度,n 表示小数点后有效位数。)
数据类型 | 数据用法 | 数据范围 |
Float | Float(m,n) | 7位有效数 |
Double | Double(m,n) | 15位有效数 |
Decimal | Decimal(m,n) | 28位有效数 |
4. 时间类型
数据类型 | 格式 | 用途 |
DATE | YYYY-MM-DD | 日期 |
TIME | HH:MM:SS | 时间 |
YEAR | YYYY | 年份 |
DATETIME | YYYY-MM-DD HH:MM:SS | 日期和时间 |
TIMESTAMP | 10位或13位整数(秒数) | 时间戳 |
5. 枚举类型
enum(枚举值1,枚举值2,...)
枚举类型只能在列出的值中选择一个,如性别