2021-01-18

Mysql语句
Mysql数据库的操作
查看数据库
第一种直接进入数据库查看
mysql> show databases;

4 rows in set (0.00 sec)
第二种以行的方式显示
mysql> show databases \G #以行的方式显示
*************************** 1. row ***************************
Database: information_schema
*************************** 2. row ***************************
Database: mysql
*************************** 3. row ***************************
Database: performance_schema
*************************** 4. row ***************************
Database: sys

4 rows in set (0.00 sec)
第三种在shell中查看
mysql -e后面直接跟sql语句,这种方式一般是在shell脚本中用到
[root@cong11 ~]# mysql -e ‘show databases’ -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
创建数据库
语法
create database 数据库名;
创建数据库注意事项
例如不允许文件和目录名中有,/,:,*,?,”,<,>,|这些特殊符号,在MySQL数据库名字中这些字母会被自动删除。
[root@cong11 ~]# ls /data/mysql/data/
2、数据库的名字不能超过64个字符,包含特殊字符的名字或者是全部由数字或保留字组成的名字必须用反引号``括起来。
3、数据库不能重名
创建一个数据库
mysql> create database HA;
mysql> create database HA-test;
查看数据库
mysql> show databases;
查看数据库目录
[root@cong11 ~]# ls /data/mysql/data/
注:建议数据名不要包含特殊符号或是纯数字的。
选择要操作的数据库
mysql> use HA-test;
查看自己在所处的位置
mysql> select database();
在命令行选择默认的数据库
我们也可以在命令行直接选择我们需要进入的数据库
[root@cong11 ~]# mysql -uroot -p123456 HA-test
mysql> select now(),user(),database();
删除数据库
命令
mysql> drop database HA-test;
移动数据库目录
[root@cong11 ~]# mkdir /db_backup
[root@cong11 ~]# mv /data/mysql/data/HA /db_backup
[root@cong11 ~]# mysql -uroot -p123456
mysql> show databases; #发现HA数据库已经不见了
使用IF EXISTS 子句以避免删除不存在的数据库时出现的MySQL错误信息 exists [ɪɡˈzɪst]
mysql> drop database if exists HA-test; #如果存在则删除
也可以在创建数据库时使用
mysql> create database if not exists HA; #if not exists 如果不存在则创建
关于表的操作
创建表create:
语法:create table 表名 (字段名 类型, 字段名 类型, 字段名 类型);
mysql> use HA;
mysql> create table student(id int(20),name char(40),age int);
查看表相关信息
mysql> use HA;
mysql> show tables; (HA数据库下的表)
查看表结构
使用desc 命令来查看表的结构
mysql> desc student;
还可以用以下命令查看表结构,会一种就可以。
mysql> explain mysql.user;
mysql> show columns from mysql.user;
mysql> show fields from mysql.user;
mysql> show columns from mysql.user like ‘%user’;
查看创建表执行了哪些命令:
mysql> show create table student \G

指定默认存储引擎和字符集
新建一个表,指定默认的存储引擎为InnoDB,编码为utf8
mysql> create table student2(id int(20),name char(40),age int) ENGINE=InnoDB DEFAULT CHARSET=utf8;
mysql> show create table student2 \G
删除表
mysql> drop table student2;
禁止预读表信息
没有禁止前转换数据库会有提示信息
mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with –A
解决这个问题可以在登陆mysql的时候添加参数-A
[root@cong11 ~]# mysql -uroot -p123456 -A
mysql> use mysql;
Database changed #发现没有提示信息了
修改表名称 alter
语法:alter table 表名 rename 新表名;
修改HA库中student表名为students
mysql> alter table student rename students;
mysql> show tables;

修改表中的字段类型
语法:alter table 表名 modify (只能改类型,不能改名字) 要修改的字段名 要修改的类型;
查看students表结构
mysql> desc students;
修改字段id 的int(20)字段类型为int(10)
mysql> alter table students modify id int(10);
查看修改完的students表结构
mysql> desc students;

修改表中的字段类型和字段名称
语法:alter table 表名 change 原字段名 新字段名 新字段类型;
mysql> alter table students change name stname char(20);
mysql> desc students;
注:CHANGE 和MODIFY的区别:
CHANGE 对列进行重命名和更改列的类型,需给定旧的列名称和新的列名称、当前的类型。 MODIFY 可以改变列的类型,此时不需要重命名(不需给定新的列名称),change可以直接改类型但是不能直接改名字
在表中添加字段:
语法:alter table 表名 add字段名 字段类型;
enum #枚举类型,比如性别,只能在男女选择,是男非女,是女非男
mysql> alter table students add sex enum(‘M’,‘W’);
mysql> desc students;

在表中指定位置添加字段
在第一列添加一个字段
mysql> alter table students add uid int(10) first;
alter table 文件名 sdd 名称+类型 第一行
mysql> desc students;
在age后面添加一个address字段
mysql> alter table students add address char(40) after age;
删除表中字段
语法:alter table 表名 drop 字段名 ;
mysql> alter table students drop address;
mysql> desc students;
发现表中address字段不见了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值