# MySQL入门语句
注意:在学习数据库时,为了方便,所以语言全是小写,更容易记忆,但是数据库标准中应该是全大写。所以在最下面会把所有语句重写为标准形式。
## 连接服务器
>mysql -uroot -p2580
连接服务器以root用密码2580登录
>mysql -uroot -p
之后输入密码2580
更安全,因为使用mysql -uroot -p2580后用history会看到数据库密码,比较不安全
>mysql -uroot -h IP地址 -p
登录远程IP的数据库
## 对用户和权限操作
### 查看用户权限
>select user();
>show grants for 用户@IP;
## 对库操作
连接服务器后首先面对的是库,进入库后才是表,进入表后才是数据等等。
### 显示库
>show databases;
```
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
+--------------------+
```
默认有三个库,**不要删除这些系统库,否则会发生异常**
>show databases like "%te%"
就会把数据库名中有te字符的数据库显示出来。
可以前面有百分号后面没有来找以te结尾数据库,
也可以前面没有后面有来找以te开头的数据库。
### 创建库
>create database xrtest;
创建数据库,库名为xrtext
注意:企业级因为业务比较多所以最好全部统一UTF8,而普通YUM安装是使用拉丁字符集,所以最好使用下面语句创建库。
>create database `xrtest` character set utf8 collate utf8_general_ci;
指定UTF8创建数据库。也必须要让数据库也必须支持UTF8。
### 删除库
drop database xrtest;
把数据库xrtest删除。**一定要小心**!
**数据库不能直接改名**
### 使用并查看连接的库
>use xrtest;
>select database();
### 进入一个库如何返回刚进入MySQL的状态
不需要返回None的状态,也没必要,可以像刚进入一样操作。
## 对表操作
### 查看表
>show tables;
### 建表
```
create table stu(
snum int,
sname varchar(10)
);
```
engine代表选择什么引擎。
### 查看表信息
>show create table stu\G
>show create table stu;
### 删除表
>drop table stu;
### 给表改名
>rename table stu to newstu;
把表名stu改为newstu
### 清空表
>truncate newstu;
## 对数据操作
### 显示表数据
>select * from newstu;
### 插入表数据
```
insert into stu values
(1,'zhangsan'),
(2,'lisi'),
(3,'wangwu');
```
### 查看表结构
>desc 表名;