一、案例要求

MySQL 给字段添加固定字符 mysql添加字段语句_MySQL 给字段添加固定字符

MySQL 给字段添加固定字符 mysql添加字段语句_MySQL 给字段添加固定字符_02

MySQL 给字段添加固定字符 mysql添加字段语句_MySQL 给字段添加固定字符_03

二、解答过程

第一题

1、创建数据库Markte

mysql> create database Market;
mysql> use Market;
2、创建数据表customers,在c_num字段上添加主键约束和自增约束,在c_birth字段上添加非空约束
mysql> create table customers(
    -> c_num int(11) AUTO_INCREMENT,
    -> c_name varchar(50),
    -> c_city varchar(50),
    -> c_birth datetime not null,
    -> Primary key (c_num)
    ->);

3、将c_contact字段插入到c_birth字段后面

mysql> alter table customers modify
    -> c_contact VARCHAR(50) after c_birth
Query OK, 0 rows affected (0.01 sec)
Records: 0  Duplicates: 0  Warnings: 0

4、将c_name字段数据类型改为VARCHAR(70)

mysql> alter table customers modify
    -> c_name VARCHAR(70);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

5、将c_contant字段改名为c_phone

mysql> alter table customers change c_contact c_phone VARCHAR(50);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

6、增加c_gender字段数据类型为CHAR(1)

mysql> alter table customers 
    -> add c_gender CHAR(1);
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

7、将表名修改为customers_info

mysql> alter table customers rename customers_info;
Query OK, 0 rows affected (0.00 sec)

8、删除字段c_city
 

mysql> alter table customers_info drop c_city;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

9、修改数据表的存储引擎为MylSAM

mysql> alter table customers_info ENGINE=MyISAM;
Query OK, 0 rows affected (0.00 sec)
Records: 0  Duplicates: 0  Warnings: 0

第二题

1、创建数据表orders,在o_num字段上添加一个主键约束和自增约束,在c_id字段上添加外键约束,关联customers表中的逐渐c_num

mysql> create table orders(
    -> o_num int(11) primary key AUTO_INCREMENT,
    -> o_date DATE,
    -> c_id int(11),
    -> CONSTRAINT waijian FOREIGN KEY (c_id) REFERENCES customers (c_num)
    ->);

2、删除orders表的外键约束,然后删除表costomers

mysql> alter table orders drop foreign key waijian; //删除外键
mysql> drop table customers; //删除表

第三题

*创建数据库Team,定义数据库player,语句如上所示

mysql>create table player(
      playid int primary key,
      playname varchar(30) not null,
      teamnum int not null unique,
      info varchar(50)
 );

1、创建一个新账户,用户名为accountl,该用户通过本地主机连接数据库,密码为oldpwdl,授权该用户对Team数据库中的player表的SELECT和INSERT权限,并且授权该用户对player表的info字段的UPDATE权限

create user account1@'%' identified by 'oldpwd1';    //创建
grant select,insert on Team.player to account1@'%';  //给与表权限
grant select (info) on Team.player to account1@'%';  //给与info这列的权限

2、创建SQL语句,更改account1用户的密码为newpwd2

UPDATE mysql.user SET PASSWORD = PASSWORD("newpwd2") WHERE User = 'account1' and host = 'localhost';

3、创建SQL语句,使用FLUSH PRIVILEFHGS重新加载权限表

FLUSH PRIVILEGES;

4、创建SQL语句,查看授权给account1用户的权限

show grants for account1@'%';

5、创建SQL语句,收回account1用户的权限

REVOKE SELECT,INSERT,UPDATE(info) ON player FROM 'account1'@'%';

6、创建SQL语句,将account1用户的账号信息从系统中删除

drop user 'account1'@'%';

三、常用语句

1、查看数据库支持的字符集
mysql> show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | latin1                     |
| character_set_filesystem | binary                     |
| character_set_results    | utf8                       |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)


2、数据库字符集内核
mysql> show variables like 'coll%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | utf8_general_ci   |
| collation_database   | latin1_swedish_ci |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+


3、CHAR(siza)和VARCHAR(size)的区别
CHAR是固定长度的,VARCHAR是可变长度的

4、表的约束
NOT NULL 非空
UNIQUE KEY 唯一键
PRIMARY KEY 主键
FOREIGN KEY 外键
AUTO_INCREMENT 自增
CHECK 检查
DEFAULT 默认值

5、增加字段
(1)增加一个字段--默认添加在末尾
mysql> alter table 表名
	-> add 字段名 字段类型;

(2)将某字段移动到某字段后面
mysql> alter table 表名 modify
	-> 字段名 字段类型 after 字段名;

(3)在首行插入新字段
mysql> alter table 表名
	-> add 字段名 字段类型 firest;

(4)在某个字段后新增一个字段
mysql> alter table 表名
	-> 字段名 字段类型 after 字段名;

6、新建数据库/数据表
mysql> create database 数据库名;
mysql> use 数据库名;
mysql> create table 数据表名(
	-> xxxxxx,
	-> xxxxxx,
	-> xxxxxx
	-> );

7、修改表的结构
修改列类型
ALTER TABLE 表名 MODIFY 列名 列类型;

增加列
ALTER TABLE 表名 ADD 列名 列类型;

删除列
ALTER TABLE 表名 DROP 列名;

列改名
ALTER TABLE 表名 CHANGE 旧列名 新列名 列类型;

更改表名
ALTER TABLE 表名 RENAME 新表名;
RENAME TABLE 表名 TO 新表名;