如何查看mysql my.ini_MySQL学习笔记(一)
MySQL ?學習筆記
一.安裝
Typical:經典安裝
Custom:自定義安裝
Complete: 完全安裝
二.修改編碼方式
[mysqld]
myini:character-set-server=utf8
[client] port=3306 default-character-set=utf8
三.啟動停止mysql服務
cmd net stop mysql
cmd net start mysql
四.MySQL登錄
mysql -V 查看版本,并退出
mysql -uroot -p -P3306 -h127.0.0.1 登錄本地mysql
mysql>exit; 退出
mysql>quit; 退出
mysql>\q; 退出
五.修改MySQL提示符
shell>mysql -uroot -proot --prompt 新提示符 \h localhost
mysql>prompt 新提示符
(\D 完整日期 ?\d 當前數據庫 \h 服務器名稱 ?\u當前用戶)
六.常用命令&語句規范
select version() 顯示服務器版本
select now() 顯示當前日期時間
select user() 顯示當前用戶
關鍵字與函數名全部大寫
數據庫名稱,表名稱,字段名稱全部小寫
SQL語句以分號結尾
七.操作數據庫
創建數據庫
create {database|schema} ?[if not exist] db_name [default] character set [=] charset_name
create database t1;
create database if not exists t2 character set utf8;
查看數據
show {databases|schemas} [like 'pattern' |where expr]
show databases;
查看編碼方式
show create database t1;
alter {database|schema} [da_name] [default] character set [=] charset_name
刪除數據庫
drop {database|schema} [if exists] da_name
八、MySQL 數據類型
????????數據類型是指列、存儲過程參數、表達式和局部變量的數據特征,它決定了數據的存儲格式,代表了不同的信息類型。
????????整型
????tinyint 1字節 ?smallint2字節 mediumint3字節 int4字節 bigint8字節
????????浮點型
????float[(M,D)] M是數字總位數,D是小數點后面的位數,如果M和D被省略,根據硬件允許的限制來保存值。大約精確7位小數
double 雙精度浮點
????????日期時間型
????year 1
????time 3
????date 3
????datetime 8
????timestamp 4
????????字符型
????char(M) ?M個字節,0-255
????varchar(M) L+1個字節,L<=M<=65535
????tinytext L+1字節 L<28
????text L+1字節 L<216
????mediumtext() 字節 L+1 L<224
????longtext ?L+1字節 L<232
????enum('vlaue1','value2',...) 1 or 2個字節,取決于枚舉值個數,最多65535
????set('value','value2',...) 1,2,3,4,8個字節,取決于set成員數目,最多64個 集合
九、數據表的操作
數據表是數據庫的最重要組成部分,是對象的基礎
打開數據庫 use db_name
創建數據表
create table [if not exists] table_name(
column_name data_type,
column_name data_type,
)
root@localhost t2>create table if not exists haha(-> id int primary key,-> name varchar(10),-> age tinyint unsigned,-> salary float(8,2) unsigned-> );Query OK, 0 rows affected (0.87 sec)
查看數據表
show tables [from db_name] [like 'pattern'|where expr]
show tables
root@localhost t2>show tables;+--------------+| Tables_in_t2 |+--------------+| haha ? ? ? ? |+--------------+1 row in set (0.05 sec)
????????查看數據表結構
show columns from table_name
root@localhost t2>show columns from haha;
+--------+---------------------+------+-----+---------+-------+
| Field ?| Type ? ? ? ? ? ? ? ?| Null | Key | Default | Extra |
+--------+---------------------+------+-----+---------+-------+
| id ? ? | int(11) ? ? ? ? ? ? | NO ? | PRI | NULL ? ?| ? ? ? |
| name ? | varchar(10) ? ? ? ? | YES ?| ? ? | NULL ? ?| ? ? ? |
| age ? ?| tinyint(3) unsigned | YES ?| ? ? | NULL ? ?| ? ? ? |
| salary | float(8,2) unsigned | YES ?| ? ? | NULL ? ?| ? ? ?
|+--------+---------------------+------+-----+---------+-------+
4 rows in set (1.92 sec)
????????插入記錄
insert [into] table_name [(col_name,...)] values(val,....)
root@localhost t2>insert haha values(1,'zhangsan',18,10000.00);Query OK, 1 row affected (0.49 sec)
root@localhost t2>insert haha(id,name,salary) values(2,'lisi',2002.35);Query OK, 1 row affected (0.08 sec)
查找記錄
select expr,... from table_name
root@localhost t2>select * from t2;ERROR 1146 (42S02): Table 't2.t2' doesn't existroot@localhost t2>select * from haha;
+----+----------+------+----------+
| id | name ? ? | age ?| salary ? |
+----+----------+------+----------+
| ?1 | zhangsan | ? 18 | 10000.00 |
| ?2 | lisi ? ? | NULL | ?2002.35 |
+----+----------+------+----------+
2 rows in set (0.00 sec)
????????空值與非空
????????null,not null
root@localhost t2>create table tb2( ? ?-> name varchar(20) not null, ? ?-> age tinyint unsigned null ? ?-> );
Query OK, 0 rows affected (0.27 sec)
root@localhost t2>show columns from tb2;
+-------+---------------------+------+-----+---------+-------+|
Field | Type ? ? ? ? ? ? ? ?| Null | Key | Default | Extra |
+-------+---------------------+------+-----+---------+-------+
| name ?| varchar(20) ? ? ? ? | NO ? | ? ? | NULL ? ?| ? ? ? |
| age ? | tinyint(3) unsigned | YES ?| ? ? | NULL ? ?| ? ? ? |
+-------+---------------------+------+-----+---------+-------+
2 rows in set (0.05 sec)
root@localhost t2>insert tb2 vlaues('tom',null);ERROR 1064 (42000): You have an error in your SQL syntax; check the manual thatcorresponds to your MySQL server version for the right syntax to use near 'vlaues('tom',null)' at line 1root@localhost t2>insert tb2 values('tom',null);Query OK, 1 row affected (0.04 sec)
root@localhost t2>insert tb2 values(null,12);ERROR 1048 (23000): Column 'name' cannot be null
root@localhost t2>select * from tb2;
+------+------+
| name | age ?|
+------+------+
| tom ?| NULL |
+------+------+
1 row in set (0.00 sec)
????????自動編號
????auto_increment
????????主鍵 (primary key)
????每張數據表只能存在一個主鍵
????主鍵保證記錄的唯一性(鍵值唯一)
????主鍵自動為not null
root@localhost t2>create table tb3(-> id int unsigned auto_increment primary key,-> username varchar(10) not null-> );Query OK, 0 rows affected (0.04 sec)
root@localhost t2>show columns from tb3;
+----------+------------------+------+-----+---------+----------------+
| Field ? ?| Type ? ? ? ? ? ? | Null | Key | Default | Extra ? ? ? ? ?|
+----------+------------------+------+-----+---------+----------------+
| id ? ? ? | int(10) unsigned | NO ? | PRI | NULL ? ?| auto_increment || username | varchar(10) ? ? ?| NO ? | ? ? | NULL ? ?| ? ? ? ? ? ? ? ?|
+----------+------------------+------+-----+---------+----------------+
2 rows in set (0.06 sec)
root@localhost t2>insert tb3(username) values('zhangsan');Query OK, 1 row affected (0.03 sec)
root@localhost t2>insert tb3(username) values('lisi');Query OK, 1 row affected (0.00 sec)
root@localhost t2>insert tb3(username) values('wangwu');Query OK, 1 row affected (0.00 sec)
root@localhost t2>insert tb3(username) values('zhaoliu');Query OK, 1 row affected (0.00 sec)
root@localhost t2>select * from tb3;
+----+----------+|
id | username |
+----+----------+
| ?1 | zhangsan |
| ?2 | lisi ? ? |
| ?3 | wangwu ? |
| ?4 | zhaoliu ?|
+----+----------+
4 rows in set (0.00 sec)
????????唯一約束(unique key)
????唯一約束保證記錄的唯一性
????唯一約束的字段可以為空值(null)
????每張數據表可以存在多個唯一約束(鍵值唯一)
root@localhost t2>create table tb5(-> id int unsigned auto_increment primary key,-> username varchar(20) not null unique key,-> age tinyint unsigned-> );Query OK, 0 rows affected (0.07 sec)
root@localhost t2>show columns from tb5;
+----------+---------------------+------+-----+---------+----------------+
| Field ? ?| Type ? ? ? ? ? ? ? ?| Null | Key | Default | Extra ? ? ? ? ?|
+----------+---------------------+------+-----+---------+----------------+
| id ? ? ? | int(10) unsigned ? ?| NO ? | PRI | NULL ? ?| auto_increment || username | varchar(20) ? ? ? ? | NO ? | UNI | NULL ? ?| ? ? ? ? ? ? ? ?|
| age ? ? ?| tinyint(3) unsigned | YES ?| ? ? | NULL ? ?| ? ? ? ? ? ? ? ?|
+----------+---------------------+------+-----+---------+----------------+3 rows in set (0.06 sec)
root@localhost t2>insert tb5(username,age) values('zhangsan',15);Query OK, 1 row affected (0.00 sec)
root@localhost t2>insert tb5(username,age) values('zhangsan',16);ERROR 1062 (23000): Duplicate entry 'zhangsan' for key 'username'
默認約束(default)
默認值,當插入記錄時,如果沒有明確為字段賦值,則自動賦予默認值
root@localhost t2>create table tb6(-> id int unsigned auto_increment primary key,-> name varchar(10) not null unique key,-> sex enum('1','2','3') default '3'-> );Query OK, 0 rows affected (0.01 sec)
root@localhost t2>show columns from tb6;
+-------+-------------------+------+-----+---------+----------------+
| Field | Type ? ? ? ? ? ? ?| Null | Key | Default | Extra ? ? ? ? ?|
+-------+-------------------+------+-----+---------+----------------+
| id ? ?| int(10) unsigned ?| NO ? | PRI | NULL ? ?| auto_increment |
| name ?| varchar(10) ? ? ? | NO ? | UNI | NULL ? ?| ? ? ? ? ? ? ? ?|
| sex ? | enum('1','2','3') | YES ?| ? ? | 3 ? ? ? | ? ? ? ? ? ? ? ?|
+-------+-------------------+------+-----+---------+----------------+
3 rows in set (0.06 sec)
root@localhost t2>insert tb6(name) values('zhangsan');Query OK, 1 row affected (0.00 sec)
root@localhost t2>select * from tb6;
+----+----------+------+
| id | name ? ? | sex ?|
+----+----------+------+
| ?1 | zhangsan | 3 ? ?|
+----+----------+------+
1 row in set (0.00 sec)
總結
以上是生活随笔為你收集整理的如何查看mysql my.ini_MySQL学习笔记(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 阵容强大!电视剧《三体》今晚央8+腾讯视
- 下一篇: AMD悄悄公布31个CPU漏洞:4个极危