mysql库,表的创建,以及插入数据

1.创建数据库db_classics;

mysql> create database if not exists db_classics default charset=utf8mb4;

 

2.创建表

create table if not exists t_hero(
    id int primary key auto_increment,
    name varchar(20) not null unique,
    nickname varchar(50) default '无',
    age int check(age>=0) default null,
    address varchar(40) default '未知',
    job char(20) default '无',
    weapon char(20) 
    )engine=innodb charset=utf8mb4;

 

通过alter添加三个新的字段:

mysql> alter table t_hero add sex varchar(5) check(sex in('男','女')) default '男';
mysql> alter table t_hero add team varchar(10);
mysql> alter table t_hero add hhh char(50);

 

通过alter删除一个字段:

mysql> alter table t_hero drop hhh;

 

重命名一张表:

mysql> alter table t_test rename t_hero;

 

3.插入相应的数据:

mysql> insert into t_hero values(null,'红孩儿',"三昧炎王",13500,'火焰山','火焰少主','火尖枪','男','火焰山');

结果:

mysql> select * from t_hero;
+----+--------------+-----------------+-------+-----------------------+-----------------------+--------------------+------+-----------+
| id | name         | nickname        | age   | address               | job                   | weapon             | sex  | team      |
+----+--------------+-----------------+-------+-----------------------+-----------------------+--------------------+------+-----------+
|  1 | 张百川       | 玉皇大帝        | 20000 | 天庭宫殿              | 天庭老总              | 断界仙剑           | 男   | 天庭      |
|  2 | 叶凡         | 太上老君        | 25000 | 天庭丹殿              | 天庭丹帝              | 紫宝混沌葫芦       | 男   | 天庭      |
|  3 | 张千山       | 帝子            |  5000 | 天庭宫殿              | 天庭中将军            | 灭世仙刀           | 男   | 天庭      |
|  4 | 消炎         | 焱帝            | 11000 | 天庭焱军部            | 天庭焱军总都督        | 噬浪尺             | 男   | 天庭      |
|  5 | 金保         | 暗金血王        |  1000 | 天庭焱军部            | 天庭焱军上将          | 嗜血刀             | 男   | 天庭      |
|  6 | 紫萱         | 紫悦仙子        |   900 | 天庭紫薇主神殿        | 天庭紫薇君主          | 九凤来仪萧         | 女   | 天庭      |
|  7 | 孙悟空       | 齐天大圣        |  1000 | 花果山                | 花果山大王            | 如意金箍棒         | 男   | 花果山    |
|  8 | 黑熊王       | 袈裟黑圣熊      |  1400 | 花果山                | 花果山东郡主          | 鬼头大斧           | 男   | 花果山    |
|  9 | 金鹏王       | 金鹏大圣        |  2400 | 花果山                | 花果山西郡主          | 嗜吴金翅           | 男   | 花果山    |
| 10 | 紫霞         | 紫霞仙子        |  1000 | 花果山                | 花果山北郡主          | 紫霞宝剑           | 男   | 花果山    |
| 11 | 玄奘         | 慈悲大佛        |  1000 | 花果山                | 花果山南郡主          | 金刚杵             | 男   | 花果山    |
| 12 | 法老猴长     | NULL            |   500 | 花果山                | 花果山总管家          | 智慧书             | 男   | 花果山    |
| 13 | 牛魔王       | 界下妖帝        | 22500 | 火焰山                | 火焰山家主            | 裂天开山斧         | 男   | 火焰山    |
| 14 | 牛夫人       | 万妖主母        | 23500 | 火焰山                | 火焰山夫人            | 芭蕉扇             | 女   | 火焰山    |
| 15 | 红孩儿       | 三昧炎王        | 13500 | 火焰山                | 火焰少主              | 火尖枪             | 男   | 火焰山    |
+----+--------------+-----------------+-------+-----------------------+-----------------------+--------------------+------+-----------+
15 rows in set (0.00 sec)

一些简单的mysql 命令

启动服务:net start mysql(服务名称)
停止服务:net stop mysql
登录Mysql:mysql -uroot -p
退出命令:exit,quit,\q
清屏:system cls
刷新命令:flush privileges
帮助命令:help create(想要查询的命令)
查询当前的登录用户:select user();
查看数据库的版本:select version();
查看当前所在数据库:select database();
进入数据库:use 库名;

设置账号支持远程登录:
    在mysql数据库下面的user表中,修改user表root的host

    update user set host="%" where user="root"
    update user set host="192.168.1.0/24" where user="root";
           或者host="192.168.1.%"
    host里面可以设置自己想授权的登录用户,可以是一段IP地址
    user里面是对应的修改的用户

    flush privileges 刷新
    mysql -uroot -p+所要远程登陆的对象IP地址
    mysql -uroot -p192.168.127.2

查看命令:show
    show databases;               显示库
    show tables;                      显示表
    show 库/表 like "****";    里面可以用%或_通配符;
    show variables;                 查看mysql数据库的所有参数,参数太多,可以用like筛选


创建数据库:create database
    create database db_cwl;    一般数据库以db_开头
    create database db_cwl default charset=utf8mb4;      创建数据库的同时指定编码,utf8mb4才是真正的utf_8
    create database if not exists db_cwl default charset=utf8mb4;    如果数据库存在,也不报错,特别适合于写脚本时
    show create database db_name;      显示创建数据库的脚步

创建表:create table
    create table [if not exists] t_name    表名一边以t_开头
    (    # 声明表的结构的
        字段名称 字段类型 [约束条件],
        字段名称 字段类型 [约束条件],
        字段名称 字段类型 [约束条件],
        字段名称 字段类型 [约束条件],
        字段名称 字段类型 [约束条件]
    )
    show create table 表名称;    # 显示创建表的脚步

删除表或者库:drop 
    drop database 库名;
    drop table 表名;
    drop database if exists 库名;
    drop table if exists 表名;

描述表的结构:
    describe  表名称;
    desc 表名称;
    show columns from  t_stu;

插入数据
    insert into t_stu(字段名称) values(值);
    insert into t_stu values;    不写字段,默认给所有字段赋值;

查询数据
    select * from t_stu;

修改表的结构:
    修改列的类型和约束条件
    alter table 表名 modify 列名 列类型 [约束条件];

    
    增加新的列
    alter table 表名 add 新列名 类型 [约束条件]

    更改列的名称和类型约束
    alter table 表名 change 旧列名 新列名 类型 [约束条件]
    
    删除列
    alter table 表名 drop 列名;

    更改表名
    alter table 旧表名 rename 新表名;
    alter table 旧表名 to 新表名;


复制表结构和复制表数据的操作:
    
    复制表结构,不复制数据
    create table 新建表 like 复制表结构对象的表

    复制表结构同时复制数据
    create table 新建表 select * from 被复制对象

    如果两张表结构一样,可以将一张表的数据复制到另一张表
    insert into 表名 select * from 被复制的对象;

DCL授权和撤销授权
    
    grant   授权
    revoke     回收权限

    在8.0之后,要先创建用户,在授权
    create user '用户名'@'是否远程登陆' identified by '设置密码';
    grant 哪些权限 on 哪个数据库.哪张表 to '用户名'@'是否远程登陆'


    查看用户的权限
    show grants  for '用户名'@'地址';

DML语句
    增删改查
增加insert into
    insert into 表名称[(字段1……)] values(值1……);
删除数据delete from(实则没彻底删除)
    delete from 表名称 where 条件;
truncate操作(彻底删除)
    truncate 表名称
修改 更新 update set
    update 表名 set 字段=新值  where 条件;
查询 select 
    select {* | 字段1 [,……]} from 表名称 [where 条件]
替换 replace into (这张表要有约束)
    replace into 表名称[(字段1……)] values(值1……);


mysql 里面可以做运算
    + - * /
    SELECT 100+80;   # 结果为180
    SELECT '123'+80; # 只要其中一个为数值,则试图将字符型转换成数值,结果为203
    SELECT 'abc'+80; # 转换不成功,则字符型数值为0,结果为80
    SELECT 'This'+'is'; # 转换不成功,结果为0
    SELECT NULL+80; # 只要其中一个为NULL,则结果为NULL
    SELECT '20a'+80; # 转换成功,则字符型数值为20,结果为100

逻辑关系语句
    and, or, =, !=, >, <, >=, <=, between and,in
    where age=32 and sex='女';
    where not (age=32 and sex='女');加上not取反
    where age in(30,40,50);表示年龄是30,40,50岁的人

查询空值
    is null
    is not null

<=>既可以查询空值,也可以充当=符号
<>于其上一样,相当于!=


sql中的别名使用
    select 原名 as 别名,原名 别名 from 表;  as可以省略


重复记录
    select distinct 列名 from 表名 
模糊查询
    like "***"; 两个通配符,%匹配随意多的字符,_匹配一个字符;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值